我尝试为nginx配置编写regexp。 这是网址示例:
api.drive.pss.np.sweetdev.com
api.google.pss.np.sweetdev.com
api.mail.pss.np.sweetdev.com
api.google.alex.np.sweetdev.com
api.mail.alex.np.sweet-dev.com
我想将第二和第三部分提取到变量 site_name 和 user_name 。
这是我的尝试(仅适用于第二部分):
server_name ~^api\.([a-z]+)\.pss\.np\.sweetdev\.com$;
server_name ~^api\.(?<site_name>\w+)\.pss\.np\.sweetdev\.com$;
为什么它不起作用?
提前谢谢你。
答案 0 :(得分:0)
我在perl中根据你的输入使用它来尝试这个。
#!的/ usr / bin中/ perl的
use strict;
my $server_name = qq(api.drive.pss.np.sweetdev.com
api.google.pss.np.sweetdev.com
api.mail.pss.np.sweetdev.com
api.google.alex.np.sweetdev.com
api.mail.alex.np.sweet-dev.com);
my (@site_name, @user_name) = $server_name =~ m{api\.([^\.]+)\.([^\.]+)\.np\.sweet-?dev\.com}ig;
print join("\n",@site_name,@user_name);