正则表达式学习

来源:互联网 发布:2016最好的网络机顶盒 编辑:程序博客网 时间:2024/06/07 01:02

最近遇到一些字符串处理的问题,发现使用正则表达式很方便。便好好学习了一下正则表达式。下面是在看《精通正则表示式》这本书的一些笔记。

一、元字符

字符 含义 备注 . 匹配单个任意字符 ^ 匹配一行的开始 $ 匹配一行的结束 \< 单词分界符,匹配单词的开始位置 > 单词分界符,匹配单词的结束位置 () 限定多选结构的范围,标注量词作业的元素,为反向引用捕获文本 \1\2 反向匹配,匹配之前的第一、第二组括号内的字表达式匹配的文本 (?:) 只分组,不捕获 ? 表示0或者1次 * 表示0次或者多次 | 匹配任意分隔的表达式,子表达式为多选分支 + 表示1次或者多次 {} {n,m} 表示出现最少n次,最多m次
{n} 表示出现n次 m,n表示任意数字


二、一些小例子

2.1 Q:一个浮点数(如1.230001或1.2310001)如果第三位小数为0则保留2位,如果第三位小数不为0则保留3位
A:s/(.\d\d[1-9]?)\d*/$1/

2.2 Q:判断单词是否重复
A:\<([a-z]+) +\1>

0 0
原创粉丝点击