样例文本:
<https://www.facebook.com/rd>
<https://www.youtube.com/#/xxx/page?name=54wd>
匹配类型:
要过滤出其中的域名部分,可以使用正则表达式进行匹配。以下是使用向前查找的正则表达式样例:
向前查找正则表达式:(?<=//).*?(?=/)
向后查找正则表达式:(?<=//)[^/]+
贪婪型正则表达式://.*?/
懒惰型正则表达式://.*/
现在,我们来解释一下每个样例的含义:
- 向前查找正则表达式
(?<=//).*?(?=/)
:(?<=//)
: 使用向前查找,匹配但不"消费"以//
开头的文本。.*?
: 匹配任意字符(懒惰型匹配,尽可能少匹配字符)。(?=/)
: 使用向前查找,匹配但不"消费"以/
开头的文本。
- 向后查找正则表达式
(?<=//)[^/]+
:(?<=//)
: 使用向后查找,匹配但不"消费"以//
开头的文本。[^/]+
: 匹配除了/
以外的任意字符,直到碰到下一个/
为止。
- 贪婪型正则表达式
//.*?/
://
: 匹配//
文本。.*?
: 匹配任意字符(懒惰型匹配,尽可能少匹配字符)。/
: 匹配/
文本。
- 懒惰型正则表达式
//.*/
://
: 匹配//
文本。.*
: 匹配任意字符(贪婪型匹配,尽可能多匹配字符)。/
: 匹配/
文本。
样例结果:
使用这些正则表达式,你可以过滤出域名部分。例如,应用向前查找正则表达式的结果将为:
www.facebook.com
www.youtube.com
这些结果均为过滤出的域名部分,不包含前面的https://
和后面的路径信息。