正则表达式30分钟入门
2016-05-22 22:40:41 60 举报
AI智能生成
登录查看完整内容
正则表达式30分钟入门教程 学习笔记
作者其他创作
大纲/内容
正则表达式30分钟入门
元字符metacharacter
.
除换行符以外的任意字符
^
匹配字符串的开始,匹配位置
$
匹配字符串的结束,匹配位置
\\b
匹配单词的开头或结尾,单词分界处
不匹配字符,只匹配一个位置
\\d
匹配数字
\\s
匹配任意长度空白符,不包含退格字符[\\b]
\\w
匹配字母、数字、下划线、汉字
转义字符\\,查找元字符本身时
空白元字符
[\\b] 回退键Backspace
\\f 换页符
\ 换行符
\ 回车符
\\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次
懒惰限定符?
尽可能少重复
字符类
[aeiou]
匹配 aeiou中任一字符
[a-z0-9A-Z]
匹配 字符范围a-z 0-9 A-Z中任一字符
分支条件|
多种规则,满足任一规则即为匹配
从左至右测试每个条件,有满足则退出
向后引用
用于重复搜索前面某个分组匹配的文本
语法
(exp) 捕获文本到自动命名的组
(?exp) 捕获文本到名为name的组里
(:exp) 不捕获文本,也不分配组号
(?=exp) 匹配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个字符
匹配 5到12个数字的字符串
\\(?0\\d{2}[) -]?\\d{8}
\\(? 转义字符(,0或1次
\\d{2} 2位数字
[) -]? ) - 0或1次
\\d{8} 8位数字
(?=).*(?=)
匹配不含属性的简单XML标签里的内容...
(?=) 前缀,
.* 任意字符串
(?=) 后缀,
收藏
收藏
0 条评论
回复 删除
下一页