我希望java常规expr与*T/N
,*TA
,*TI
,*TA/O
,*TI/O
,*TA/N
和{{1但是不应该接受*TI/N
。以下正则表达式模式
*T
匹配所有条件但匹配String pattern="\\*T[AI]?(/N|/O)?";
。如何阻止它与*T
匹配?
答案 0 :(得分:1)
如果没有更多细节,您似乎可以使用积极的前瞻来确保*T
之后至少有2个允许的字符:
String pattern = "\\*(?=[TAI/]{2})T[AI]?(?:/[NO])?";
请参阅regex demo
(?=[TAI/]{2})
肯定前瞻将确保*
之后有两个字符,T
,A
,I
或/
。