我试图找到json文件中的所有非标准字符。但是,我真的不知道Pattern.compile(...)方法的正则表达式语法,足以指定我想要的内容。基本上,我希望它返回任何不是字母,数字,“[”,“{”,“:”,“\”“,”,“,”_“,”(“,” - “, “。”,“\”,“/”
我只想打印出带有特殊字符的线条。
代码如下所示:
sudo apt-get update
答案 0 :(得分:0)
这是你可以尝试的正则表达式:
[^\p{L}\p{N}\[\]{}:",_().\\/-]
一些注意事项:
\p{L}
匹配所有语言中的所有unicode字母。如果您只关心英文字母,请替换为A-Za-z
。\p{N}
匹配所有unicode数字符号。如果您只关心拉丁字母中的数字,请替换为0-9
。[
,]
和\
需要通过前面的\
进行转义,因为它们在正则表达式中本身具有特殊含义。-
,但最后将其放在最后并不需要转义。然后,为了将其表达为Java字符串常量,您需要担心Java字符串语法中具有特殊含义的字符:"
和\
。因此,必须在Java代码中转义正则表达式中"
和\
的所有出现:
"[^\\p{L}\\p{N}\\[\\]{}:\",_().\\\\/-]"