如何使用正则表达式允许尖括号<>之间没有任何字符?

时间:2019-02-06 06:46:05

标签: java regex

如何使用javax regex允许尖括号<>之间没有任何字符/空格?当前模式如下:

"^[A-Za-z0-9\\s-_]*[A-Za-z0-9][A-Za-z0-9\\s-_]*$"

1 个答案:

答案 0 :(得分:4)

使用|令牌创建替代项(匹配此)。

^(?:[A-Za-z0-9\s-_]|<>)*[A-Za-z0-9](?:[A-Za-z0-9\s-_]|<>)*$

我将[A-Za-z0-9\s-_]+的开头和结尾都更改为(?:[A-Za-z0-9\s-_]|<>)*,这意味着“匹配0次或多次[A-Za-z0-9\s-_]<>”。

[A-Za-z0-9_]可以简化为\w,因此上述内容的缩写是:

^(?:[\w\s-]|<>)*[A-Za-z0-9](?:[\w\s-]|<>)*$