我想做一个关于正则表达式的应用程序。用户输入一个正则表达式和一个测试文本,我想突出显示测试文本中与正则表达式匹配的所有内容。现在我做了这样的事情:
// txaTestText is an EditText
Editable testText = txaTestText.getText();
// pattern is a java.util.regex.Pattern input by user
Matcher matcher = pattern.matcher(testText);
// txaFindResult is a TextView
txaFindResult.setText(Html.fromHtml(matcher
.replaceAll("<font color=\"red\">$0</font>")));
问题是用户可能会输入一些字符串,包括 HTML 标签作为测试文本。例如:
- 正则表达式 =
o
- 测试文本 =
Hello<br>world
- 预期结果= (由于 StackOverflow 不支持着色,我在这里使用粗体代替)
Hello<br>world
- 实际结果=
Hello
world
我尝试使用Html.escapeHtml
. 但是它是在 API 级别 16 中添加的,而我的最低要求是 8。
我的问题是如何解决上述问题?