示例1:
THE COMPANIES ACT
(Cap 486)
IT IS notified
示例2:
THE COMPANIES ACT
(Cap. 486)
Incorporations
IT IS notified
我当前的正则表达式:THE COMPANIES ACT\n\(((?:Cap.|Cap) .*?)\)(?:\nIncorporations|\nincorporations)\nIT IS notified
仅匹配示例2.
我希望它能与两个例子相匹配。
答案 0 :(得分:3)
您应该通过在其后添加(?:\nIncorporations|\nincorporations)
(0或1匹配)来使?
成为可选项。否则,第一个示例不匹配,因为您已指定要在任何情况下匹配(?:\nIncorporations|\nincorporations)
。
由于ncorporations
在两个* ncorporations中都很常见,您可以考虑(?:\n[Ii]ncorporations)?
而不是(?:\nIncorporations|\nincorporations)?
和(?:Cap\.?)
而不是(?:Cap.|Cap)
来缩短它并且还要转义点(因为.
表示任何字符)。