正则表达式30分钟入门
2016-05-22 22:40:41 60 举报
AI智能生成
正则表达式30分钟入门教程 学习笔记
作者其他创作
大纲/内容
元字符metacharacter
.
除换行符以外的任意字符
^
匹配字符串的开始,匹配位置
$
匹配字符串的结束,匹配位置
\b
匹配单词的开头或结尾,单词分界处
不匹配字符,只匹配一个位置
\d
匹配数字
\s
匹配任意长度空白符,不包含退格字符[\b]
\w
匹配字母、数字、下划线、汉字
转义字符\,查找元字符本身时
空白元字符
[\b] 回退键Backspace
\f 换页符
\n 换行符
\r 回车符
\t 制表符Tab键
\v 垂直制表符
反义
\W 匹配任意非字母,数字,下划线,汉字的字符
\S 匹配任意非空白的字符
\D 匹配任意非数字的字符
\B 匹配非单词开头或结束的位置
[^x] 匹配除x以外的任意字符
[^aeiou] 匹配除aeiou外的任意字符
非十进制数值
\x 十六进制
\x0A 对应ACSII字符10
\0 八进制
\011 对应ASCII字符9
重复
*
重复0次或更多次
+
重复1次或更多次
?
重复0次或1次
{n}
重复n次
{n+}
重复n次或更多次
{n,m}
重复n到m次
懒惰限定符?
尽可能少重复
字符类
[aeiou]
匹配 aeiou中任一字符
[a-z0-9A-Z]
匹配 字符范围a-z 0-9 A-Z中任一字符
分支条件|
多种规则,满足任一规则即为匹配
从左至右测试每个条件,有满足则退出
向后引用
用于重复搜索前面某个分组匹配的文本
语法
(exp) 捕获文本到自动命名的组
(?exp) 捕获文本到名为name的组里
(:exp) 不捕获文本,也不分配组号
(?=exp) 匹配exp前的位置,零宽断言
(?<=exp) 匹配exp后的位置,零宽断言
(?!exp) 匹配后面跟的不是exp的位置,零宽断言
(?
(?#comment) 注释
例子解析
\ba\w*\b
匹配 以字母a开头的单词
\b 单词开头
a 字母a
\w* 任意数量的字母数字
\b 单词结束
\d+
匹配 一个或更多个数字
+匹配重复至少1次,*匹配任意次(包括0次)
\b\w{6}\b
匹配 6个字符的单词
\w{6} 重复6个字符
^\d{5,12}$
匹配 5到12个数字的字符串
\d{5,12} 数字重复5到12次
\(?0\d{2}[) -]?\d{8}
\(? 转义字符(,0或1次
\d{2} 2位数字
[) -]? ) - 0或1次
\d{8} 8位数字
(?<=<(\w+)>).*(?=<\/\1>)
匹配不含属性的简单XML标签里的内容...
(?<=<(\w+)>) 前缀,<单词>
.* 任意字符串
(?=<\/\1>) 后缀,<\单词>
收藏
收藏
0 条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定