yiven吧 关注:4贴子:101
  • 1回复贴,共1

正则表达式学习笔记

只看楼主收藏回复

正则表达式:
入门教程
http://www.jb51.net/tools/zhengze.html
元字符
代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
重复
代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
下面是一些使用重复的例子:
Windows\d+匹配Windows后面跟1个或更多数字
^\w+匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置)
其他详细信息参见以上提供教程


IP属地:四川1楼2015-06-15 17:32回复
    替换字符:
    例子:将下列文本格式规范化

    方法:
    从图中可以看到,文章总共有六章,但每一章的标题部分前方缩进量不统一,显得文章很乱,那么我们如何使得其前方缩进量保持一致呢?
    当然人工排版可以做到,那用正则表达式如何做呢?
    首先,我们写出能够匹配所有章节名称的正则表达式,如:^(\s)+第(.)章$;
    然后写出能够匹配我们需要替换的内容的正则表达式,如:$1第$2章;
    最后用查找/替换工具直接替换即可(前提是编辑器支持正则表达式)。
    这样就能一次去掉章节名称前方的多余空白字符,而不像普通的查找/替换会改变章节号。
    那么我们来看看这两个表达式分别都表示什么含义
    ^(\s)+第(.)章$————表示:以多个空白字符开始第N章结尾的字符,并将第一个空白字符与章节数N获取出来并分组,用于替换表达式;
    $1第$2章——————表示:上一个表达式获取到的第1组字符(也就是空白字符)+第+第2组字符(N)章;


    IP属地:四川3楼2015-06-15 17:53
    回复