如何允许角括号<>不使用正则表达式的它们之间的任何字符?

问题描述 投票:3回答:1

如何以允许它们之间的角括号<>没有任何字符/空间使用的javax正则表达式当前模式是像下面?:

"^[A-Za-z0-9\\s-_]*[A-Za-z0-9][A-Za-z0-9\\s-_]*$"
java regex
1个回答
4
投票

使用|令牌打造另类(符合这样或那样的)。

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

我在开始和结束[A-Za-z0-9\s-_]+,这意味着“匹配0次或更多次(?:[A-Za-z0-9\s-_]|<>)*[A-Za-z0-9\s-_]”改变两者<>

[A-Za-z0-9_]可以简化为\w,所以的较短版本以上将是:

^(?:[\w\s-]|<>)*[A-Za-z0-9](?:[\w\s-]|<>)*$
© www.soinside.com 2019 - 2024. All rights reserved.