如何替换不符合条件的字符串中的所有字符.我在使用NOT运算符时遇到了麻烦.
具体来说,我试图删除所有不是数字的字符,到目前为止我已经尝试过了:
String number = "703-463-9281";
String number2 = number.replaceAll("[0-9]!", ""); // produces: "703-463-9281" (no change)
String number3 = number.replaceAll("[0-9]", ""); // produces: "--"
String number4 = number.replaceAll("![0-9]", ""); // produces: "703-463-9281" (no change)
String number6 = number.replaceAll("^[0-9]", ""); // produces: "03-463-9281"
Run Code Online (Sandbox Code Playgroud) 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