正则表达式(贪婪匹配与非贪婪匹配,向前向后匹配)

文章目录

      • 样例文本:
      • 匹配类型:
      • 样例结果:

样例文本:




匹配类型:

要过滤出其中的域名部分,可以使用正则表达式进行匹配。以下是使用向前查找的正则表达式样例:

向前查找正则表达式:(?<=//).*?(?=/)

向后查找正则表达式:(?<=//)[^/]+

贪婪型正则表达式://.*?/

懒惰型正则表达式://.*/

现在,我们来解释一下每个样例的含义:

  1. 向前查找正则表达式 (?<=//).*?(?=/)
    • (?<=//): 使用向前查找,匹配但不"消费"以//开头的文本。
    • .*?: 匹配任意字符(懒惰型匹配,尽可能少匹配字符)。
    • (?=/): 使用向前查找,匹配但不"消费"以/开头的文本。
  2. 向后查找正则表达式 (?<=//)[^/]+
    • (?<=//): 使用向后查找,匹配但不"消费"以//开头的文本。
    • [^/]+: 匹配除了/以外的任意字符,直到碰到下一个/为止。
  3. 贪婪型正则表达式 //.*?/
    • //: 匹配//文本。
    • .*?: 匹配任意字符(懒惰型匹配,尽可能少匹配字符)。
    • /: 匹配/文本。
  4. 懒惰型正则表达式 //.*/
    • //: 匹配//文本。
    • .*: 匹配任意字符(贪婪型匹配,尽可能多匹配字符)。
    • /: 匹配/文本。

样例结果:

使用这些正则表达式,你可以过滤出域名部分。例如,应用向前查找正则表达式的结果将为:

www.facebook.com
www.youtube.com

这些结果均为过滤出的域名部分,不包含前面的https://和后面的路径信息。

你可能感兴趣的:(正则表达式,java)