代码之家  ›  专栏  ›  技术社区  ›  coder_bro

如何在开始或结束时有选择地匹配某些内容,但不能同时匹配两者?

  •  3
  • coder_bro  · 技术社区  · 15 年前

    我有这样的情况,在正则表达式中: ^b?A+b?$

    所以 b 可以 在字符串开始处匹配0或1次,并且 A 必须 匹配一次或多次。阿盖恩 可以 在字符串结尾处匹配0或1次。

    现在我想修改这个正则表达式,使它可以匹配 要么在字符串的开始处,要么在字符串的结尾处,但不能同时在两者之间。

    我该怎么做?

    3 回复  |  直到 10 年前
        1
  •  9
  •   Dietrich Epp    15 年前

    ^(b?A+|A+b?)$
    
        2
  •  2
  •   Mark Byers    15 年前

    ^(bA+|A+b?)$
    

    b A

    ^(b(?!.*b$))?A+b?$
    

        3
  •  1
  •   Dan Beam    15 年前
    ^(b+A+b?|b?A+b+)$