1. Kotlin String 正则表达式的使用
目标:将字符串中的 XXX 替换为 <font color=#0000ff>XXX</font>
1.1 预备知识 : capturing group
需要用到正则表达式中「捕获组」(capturing group)的概念。下面的例子中 ()
中的内容是要捕获的内容,也是后面要重复用的内容。例如,在 Java 中用 $1
表示捕获的第 1 组。同理 $2
匹配第 2 组。
关于 capturing group,请参考 Oracle 官方帮助文档
1.2 String 的正则表达式用法
Java 中的做法是:
text = text.replaceAll("(XXX)", "<font color=#0000ff>$1</font>");
Kotlin 中的写法为:(需要加 「.toRegex()
」)
text = text.replace("(XXX)".toRegex(), "<font color=#0000ff>$1</font>")
2. 快速测试正则表达式
2.1 Android Studio 中,调试模式
适用于在 Android Studio 中做开发的小伙伴。
打开调试模式。
(断点)运行到 text 所在的代码。
右键鼠标,选择「Evaluate Expression」(快捷键 Alt + F8)
在弹出的「Evaluate」对话框中,可以在「Expression」输入框内,调试正则表达式的效果。这样可以反复测试,找到准确的正则表达式。而不用一遍遍的去编译、运行、看效果。
2.2 Python 环境
Python 环境 测试正则表达式,也是不错的。
$ python3
>>> import re
>>> re.match(pattern, string)
>>> re.search(pattern, string)
>>> re.findall(pattern, string)