【发布时间】:2013-03-13 05:03:49
【问题描述】:
我在这里用 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 行?
【问题讨论】:
标签: java regex regex-negation