Salesforce Apex 正则表达式 - @metion

Salesforce Apex Regex - @metion

在我的正则表达式上一直找不到匹配项,不知道出了什么问题。

String myString = 'test @abcd efg done'
Pattern p = Pattern.compile('@(\w+)\s(\w+)');
Matcher pm = p.matcher(myString);
pm.group(); //getting no match error

预计第一组是 abcd,第二组是 efg。 知道我的正则表达式有什么问题吗?

任何帮助都会很好。

谢谢!

你的正则表达式没问题。这里的陷阱是你需要在调用 matcher.group() 之前使用 matcher.find() 方法。所以这很好

String myString = 'test @abcd efg done';
Pattern p = Pattern.compile('@(\w+)\s(\w+)');
Matcher pm = p.matcher(myString);
if(pm.find()) {
   System.debug(pm.group(1));
}