如何构造同时包含若干字串的正则表达式
如何构造一个单一的正则表达式,检测一个字符串里面是否同时存在指定的多个字串。
比如: 检测字符串里面是否同时包含“北京”、“天津”、“上海”、“重庆”四个名称(也可能更多个)。
[解决办法]
$_ ="上海aaaaaaaaa重庆bbbbbbbbb天津ccccccccccc北京";my $str="上海天津重庆bbbbbbbbb";my $str2="天津重庆北京上海";print "have1\n" if (~/(?=.*?北京)(?=.*?天津)(?=.*?上海)(?=.*?重庆)/);print "have2\n" if ($str=~/(?=.*?北京)(?=.*?天津)(?=.*?上海)(?=.*?重庆)/);print "have3\n" if ($str2=~/(?=.*?北京)(?=.*?天津)(?=.*?上海)(?=.*?重庆)/);