xde*_*000 12 java regex regexbuddy character-class
Java使用哪个正则表达式引擎?
在像RegexBuddy这样的工具中使用
[a-z&&[^bc]]
Run Code Online (Sandbox Code Playgroud)
Java中的表达式很好,但在RegexBuddy中它还没有被理解.
事实上,它报道:
匹配下面列表中的单个字符
[a-z&&[^bc]
- 范围在
a和之间的字符z:a-z- 其中一个人物
&[^bc:&&[^bc]字面匹配字符:]
但我想匹配一个字符,a并z与一个不是b或的字符相交c
pol*_*nts 19
像大多数正则表达式一样,java.util.regex.Pattern它有自己的特定功能,语法可能与其他语法不完全兼容; 这包括字符类联合,交集和减法:
[a-d[m-p]]:a通过d或m通过p:([a-dm-p]联盟)[a-z&&[def]]:d,e或f(十字路口)[a-z&&[^bc]]:a通过z,除了b和c:([ad-z]减法)
Java正则表达式最重要的"警告"是matches尝试将模式与整个字符串进行匹配.这对大多数引擎来说都是非典型的,有时会引起混淆.
减法允许您在Java中定义例如"所有辅音" [a-z&&[^aeiou]].
此语法特定于Java.在XML Schema,.NET,JGSoft和RegexBuddy中,它是[a-z-[aeiou]].其他口味可能根本不支持此功能.