Java 字符类减法
我正在使用一种特殊的模式,试图得到一个没有标点符号的句子。 我有这个:Java 字符类减法,java,regex,Java,Regex,我正在使用一种特殊的模式,试图得到一个没有标点符号的句子。 我有这个: p = Pattern.compile("[\\p{Punct}\\s]+"); String[] all = p.split("int a = 4;"); 我得到了数组 all = {int, a, 4}; 这很好,但如果存在,我希望我的模式也保留“[]”。例如: String[] all = p.split("int[] a = 4;"); 得到 all = {int,[], a, 4}; 这是我唯一希望模式
p = Pattern.compile("[\\p{Punct}\\s]+");
String[] all = p.split("int a = 4;");
我得到了数组
all = {int, a, 4};
这很好,但如果存在,我希望我的模式也保留“[]”。例如:
String[] all = p.split("int[] a = 4;");
得到
all = {int,[], a, 4};
这是我唯一希望模式添加“[]”的更改,而不是其他更改。
有什么办法吗?试试这个:
Pattern p = Pattern.compile("[[\\p{Punct}&&[^\\[\\]]]\\s]+");
[
和]
字符被视为标点符号。此正则表达式将在拆分字符串时排除它们。谢谢:)太好了!我正在尝试添加字符“(/”),因此它也不会删除该字符。。。我尝试了一些选择,但它对我无效。不管我得到它!:)