我可以在Android中使用匹配中的组进行正则表达式替换吗?

时间:2011-02-16 08:44:23

标签: android regex

我想在Android上做这样的事情:

来自:

*foo* bar*stuff*

dest:

<b>foo</b> bar<b>stuff</b>

C#中,我创建了一个正则表达式并替换:

string text = "*foo* bar*stuff*";
Regex bold = new Regex(@"\*(.+?)\*", RegexOptions.Singleline);
html = bold.Replace(html, new MatchEvaluator(p => string.Format("<b>{0}</b>", p.Groups[1].Value)));

我已经阅读了Android的java.util.regex.Matcher documentation,并且它说replace()方法用一个(常量)字符串替换整个匹配。是否有一种技巧方法可以参考该出现的组来替换每个出现的事件?

2 个答案:

答案 0 :(得分:2)

应该是:

"<b>$1</b>"

那是C#,但它在Java中应该是相同的。同样,$0代表整个匹配(或某些风格的$&

答案 1 :(得分:0)

你有没有看过MatchResult