这种特殊模式的正则表达式

时间:2012-04-24 14:48:37

标签: regex

我有三件不同的事情

xxx
xxx>xxx
xxx>xxx>xxx

其中xxx可以是字母和数字的任意组合

我需要一个可以匹配前两个而不是第三个的正则表达式。

2 个答案:

答案 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} }}

相关问题