我需要一个正则表达式来匹配ASCII非字母数字字符。正则表达式不应与非ASCII字符匹配。我使用以下内容:
"[\\u0000-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007f]"
我可以简化这个正则表达式吗?
答案 0 :(得分:6)
是的,您可以使用字符类交集。例如:
[\\p{ASCII}&&\\P{Alnum}]
这意味着:所有ascii字符和所有非字母数字字符之间的交集
答案 1 :(得分:2)
您可以在Java中使用此正则表达式
^(?=[^0-9a-zA-Z]+$)\p{ASCII}+$
或者其他:
^(?!\p{Alnum}+$)\p{ASCII}+$
答案 2 :(得分:2)