2015-05-08 183 views
2

在我的正则表达式中保持不匹配不知道出了什么问题。Salesforce Apex正则表达式 - @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,第二组为待命。 任何想法,我的正则表达式有什么问题?

任何帮助将是很好的。

谢谢!

回答

2

你的正则表达式很好。这里的缺点是你需要在调用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)); 
} 
+0

感谢您的帮助。对我而言,这是愚蠢的。大声笑 –