【问题标题】:Regex not ending with, without lookahead or lookbehind正则表达式不以,没有前瞻或后视结束
【发布时间】:2016-06-10 16:31:13
【问题描述】:

很遗憾,但我的正则表达式库不支持前瞻和后瞻断言。

是否可以创建一个匹配不以我的模式结尾的字符串的正则表达式,例如foobar\d\d

【问题讨论】:

  • 解决方案是否必须完全使用单个正则表达式,或者您可以执行pattern1.matches(string) and not pattern2.matches(string)之类的操作吗?
  • 很遗憾,它是一个复杂的结构,无法直接访问字符串。

标签: regex


【解决方案1】:

这是可能的,虽然有点冗长。假设您希望您的字符串不以abc 结尾,这是一个正则表达式:

([^c]|[^b]c|[^a]bc)$

请注意,这不会匹配 cbc 之类的字符串。为了匹配这些,正则表达式变得更加复杂:

([^c]|[^b]c|[^a]bc|^|^c|^bc)$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 2014-07-05
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-11
    相关资源
    最近更新 更多