求包含字符串 “AAA”,而且不包含字符串 “BBB”"的正则表达式
悬赏:5 发布时间:2008-08-06 提问人:lzy.je (初级程序员)
a = /(^((?!gif).)*$)/i
a1= /php/i
b = "a string XXXXX"
puts "ok" if (b =~ a) and (b =~ a1)
请问把a和a1两个表达式合并怎么写?
表示:"同时匹配,包含字符串 “php”,而且不包含字符串 “gif”"的表达式.
谢谢!~~~~
a1= /php/i
b = "a string XXXXX"
puts "ok" if (b =~ a) and (b =~ a1)
请问把a和a1两个表达式合并怎么写?
表示:"同时匹配,包含字符串 “php”,而且不包含字符串 “gif”"的表达式.
谢谢!~~~~
采纳的答案
2008-08-06 rainux (中级程序员)
/^((?<!gif).)*(?<!gif)php(?!gif)(.(?!gif))*$/
注意用到了 look behind assertion,如果是用于 Ruby,1.8 系列内置的正则表达式引擎是不支持的,需要用 gem 安装用于 1.9 的正则表达式引擎 Oniguruma。
gem install oniguruma
提问者对于答案的评价:
Thanx
已解决问题数: 959
待解决问题数: 418
已关闭问题数: 1635
待解决问题数: 418
已关闭问题数: 1635




