iteye_5425 2008-08-06 13:02
浏览 254
已采纳

求包含字符串 “AAA”,而且不包含字符串 “BBB”"的正则表达式

a = /(^((?!gif).)*$)/i
a1= /php/i

b = "a string XXXXX"

puts "ok" if (b =~ a) and (b =~ a1)

请问把a和a1两个表达式合并怎么写?
表示:"同时匹配,包含字符串 “php”,而且不包含字符串 “gif”"的表达式.

谢谢!~~~~

  • 写回答

1条回答 默认 最新

  • iteye_304 2008-08-06 14:28
    关注

    [code="ruby"]
    /^((?<!gif).)*(?<!gif)php(?!gif)(.(?!gif))*$/
    [/code]

    注意用到了 look behind assertion,如果是用于 Ruby,1.8 系列内置的正则表达式引擎是不支持的,需要用 gem 安装用于 1.9 的正则表达式引擎 Oniguruma。

    [code]gem install oniguruma[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog