a = /(^((?!gif).)*$)/i
a1= /php/i
b = "a string XXXXX"
puts "ok" if (b =~ a) and (b =~ a1)
请问把a和a1两个表达式合并怎么写?
表示:"同时匹配,包含字符串 “php”,而且不包含字符串 “gif”"的表达式.
谢谢!~~~~
a = /(^((?!gif).)*$)/i
a1= /php/i
b = "a string XXXXX"
puts "ok" if (b =~ a) and (b =~ a1)
请问把a和a1两个表达式合并怎么写?
表示:"同时匹配,包含字符串 “php”,而且不包含字符串 “gif”"的表达式.
谢谢!~~~~
[code="ruby"]
/^((?<!gif).)*(?<!gif)php(?!gif)(.(?!gif))*$/
[/code]
注意用到了 look behind assertion,如果是用于 Ruby,1.8 系列内置的正则表达式引擎是不支持的,需要用 gem 安装用于 1.9 的正则表达式引擎 Oniguruma。
[code]gem install oniguruma[/code]