个人笔记 - 正则表达式
介绍
正则表达式(Regex)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。 – 维基百科
Jupyter 版
例子在 Jupyter Notebook 中展示更清晰些,所以就直接上传了 Jupyter 版本的。<html版本> <原始版本>
用法
文本编辑器替换
使用 $1
代替某一组。
如替换隐藏手机号中间四位,查找正则为 (\d{3})(\d*)(\d{4})
,替换为 $1****$3
。
Java 端也采用此方法。
// 手机号隐藏中间4位:
public static String hidePhone(String phone){
return phone.replaceAll("(\\d{3})(\\d*)(\\d{4})", "$1****$3");
}
常用正则表达式
中文:[\u4e00-\u9fa5]
匹配某个字符在最后一次出现的位置:[^字符]+$
匹配不在引号里的逗号:,(?=([^\"']*[\"'][^\"']*[\"'])*[^\"']*$)
概括字符集
字符 | 含义 |
---|---|
\d |
[0-9] |
\D |
[^0-9] |
\w |
[A-Za-z0-9_] |
\W |
[^A-Za-z0-9_] |
\s |
空白字符 |
\S |
非空白字符 |
. |
匹配除换行符\n 之外其他所有字符 |
\t |
匹配 TAB 键 |
推荐
regexper 这个网站可以帮助你更直观的展示正则表达式的逻辑。
Last modified on 2020-06-05