【问题标题】:Java Regex Lookbehind and LookaheadJava 正则表达式 Lookbehind 和 Lookahead
【发布时间】:2016-06-30 18:17:29
【问题描述】:

我想创建一个可以识别字符串中等号的正则表达式。唯一的条件是等号前面不能有这些字符:''、'~' 和 '='。它也不能跟这个字符'='。我使用的正则表达式是这样的:(?<=[^<>~=])=(?=[^=]) 并且在大多数情况下都有效。如何修改此正则表达式,使其也匹配前面不带任何内容或不带任何内容的等号。

例如,所有这些字符串都应该匹配:hello=45、3=dkfjasdkf、=3、ten=,甚至只是=。

它不应该匹配:hello==4、3>=4 和 ==。

【问题讨论】:

    标签: java regex


    【解决方案1】:

    使用否定的环视来允许匹配出现在字符串的开头或结尾。

    (?<![<>~=])=(?!=)
    

    【讨论】:

      猜你喜欢
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多