我需要做的是确定一个单词是否包含除了某些字母之外的字母.例如,我需要测试一个单词是否包含英文字母中的字母,除了字母:I,V和X.
目前我有上面这个简单任务的长正则表达式:
Pattern pattern = Pattern.compile("[ABCDEFGHJKLMNOPQRSTUWYZ]+");
Run Code Online (Sandbox Code Playgroud)
你们中的任何人都知道从Java正则表达式中排除某些字母的任何简写方法吗?谢谢.
Kep*_*pil 25
您可以使用&&运算符使用减法创建复合字符类:
String regex = "[A-Z&&[^IVX]]+";
Run Code Online (Sandbox Code Playgroud)
只需在模式中使用负数前瞻即可。
Pattern pattern = Pattern.compile("^(?:(?![IVX])[A-Z])+$");
Run Code Online (Sandbox Code Playgroud)