我想要一个匹配“+ - + - + - + - + - .......”的模式,“+ - ”可以多次出现,但它们应该在一起...不喜欢“+++ - + ---”
我尝试了“[+ - ] +”,但没有指定+和 - 是连续的
答案 0 :(得分:2)
方括号([]
)指定一个字符类。你想要的是使用非捕获组:
(?:\+-)+
如果你想好捕获它,你可以把它变成一个捕获组(\+-)+
。
答案 1 :(得分:1)
考虑以下样本:
+++--+---
-+-+-
-+-+-+
-+-+-+-
------
++++++
+-+-+-
+-+-+-+
+-+-+-+-
--++--++-
++--++--+
+-5
-+-A
Vallentin的模式没有任何锚点,并且会匹配字符串中的任何内容。 (?:\+-)+
字符串可以以它开头的相同字符结束吗?
如果没有,请将其更改为:
^(?:\+-)+$
如果可以:
对于" +仅启动":
使用模式访问完整匹配结果:^(\+(?:-|$))+$
对于" +和 - 开始"的可能性:
使用模式访问完整匹配结果:^(?:([+-])(?!\1))+$
比较所有三种模式@ this demo that defaults to Vallentin's pattern。