我需要一个正则表达式来提取子域(如果存在)和带有TLD的域。 这是一个nginx配置,所以请严格使用正则表达式。
示例:
www.a0.example.com
www.example.com
www.example.org
a0
和example.com
匹配example.com
匹配,因为子域名是
缺席example.org
匹配到一个组中
因为子域也不存在组号应该是一致的,因此$0
将始终返回子域,如果不存在则为空,并且$1
将始终返回域。 www
将永远存在。
任何可以挥动魔杖的正则表达式向导?
答案 0 :(得分:2)
这是perl中的测试正则表达式:
$ perl -lne '/^www\.([^\.]+\.)?([^\.]+\.[^\.]+)$/ and print "1=$1 2=$2"' file
1=a0. 2=example.com
1= 2=example.com
1= 2=example.org
正则表达式:
/^www\.([^\.]+\.)?([^\.]+\.[^\.]+)$/