我有三件不同的事情
xxx
xxx>xxx
xxx>xxx>xxx
其中xxx可以是字母和数字的任意组合
我需要一个可以匹配前两个而不是第三个的正则表达式。
答案 0 :(得分:5)
要匹配ASCII字母和数字,请尝试以下操作:
^[a-zA-Z0-9]{3}(>[a-zA-Z0-9]{3})?$
如果需要ASCII字符集之外的字母和数字,则以下内容应足够:
^[^\W_]{3}(>[^\W_]{3})?$
答案 1 :(得分:1)
^\w+(?:>\w+)?$
匹配整个字符串。
\w+(?:>\w+)?\b(?!>)
在更大的子字符串中匹配这样的字符串。
如果要从匹配中排除下划线,可以使用[\p{L]\p{N}]
代替(如果你的正则表达式引擎知道Unicode),或[^\W_]
代替\w
代替{{1} }}