我们如何在java中管理正则表达式?
是的,我确实搜索了正则表达式主题,但我认为这在 java 中很奇怪。
我想做的是
My team <xxx-yyyy@uuuu.com>
使用正则表达式,我想获取 < > 之间的字符串为 xxx-yyyy@uuuu.com
Pattern p = Pattern.compile("(.+?)\\<.*?\\>?");
上面的方法不起作用。
最佳答案
实际上,您需要在 Matcher 对象上调用 find() 方法才能遍历字符串。正如 Petri Pellinen 所说,您应该检查正确的分组。
尝试以下代码:
String str = "My team <xxx-yyyy@uuuu.com> My team <xxx-yyyy@uuuu.com> \n " +
"My team <xxx-yyyy@uucom> My team <xxx-yyyy@uuuu.com> " +
"My team <xxx-yyyy@uuuu.com> My team <xxx-yyyy@uuuu.com>";
Pattern p = Pattern.compile("\\<(.*?)\\>");
Matcher m = p.matcher(str);
while(m.find()){
System.out.println(m.group(1));
}
并检查提取的组。
结果是:
xxx-yyyy@uuuu.com
xxx-yyyy@uuuu.com
xxx-yyyy@uucom
xxx-yyyy@uuuu.com
xxx-yyyy@uuuu.com
xxx-yyyy@uuuu.com
干杯!
关于java - 在java中管理正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5558499/