我在这里用Java编码。
我知道匹配任何数字或字符串的正则表达式是
"(0|[1-9][0-9]*)(\\.[0-9]+)?|[a-zA-Z]+"
但我想匹配除字母或数字之外的任何东西,即像这样的符号!, @, +, -
我试过做[^.. ]
,但它不起作用。
例如,假设我想做相反的事情,即返回包含数字或字母或@字符串的字符串的所有部分,我会这样做
public ArrayList<String> findMatch(String string){
ArrayList <String> outputArr = new ArrayList<String>();
Pattern p = Pattern.compile("(0|[1-9][0-9]*)(\\.[0-9]+)?|[a-zA-Z]+|\\@");
// recognizes number, string, and @
Matcher m = p.matcher(string)
while (m.find()) {
outputArr.add(m.group());
}
return outputArr;
}
假设我想找到上面代码的反面,我该如何更改第 3 行?