Chinaunix首页 | 论坛 | 博客
  • 博客访问: 425491
  • 博文数量: 58
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 623
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-26 18:48
个人简介

在生存面前,那纯洁的理想,原来是那么脆弱不堪!

文章分类

全部博文(58)

文章存档

2022年(1)

2021年(1)

2019年(3)

2018年(6)

2017年(6)

2016年(14)

2015年(10)

2014年(16)

2013年(1)

我的朋友

分类: 系统运维

2015-09-06 16:10:34

  正则表达式简单的说就是字符串的匹配规则,也可以说就是描述一类字符串的规则性描述.例如一句话中以 xyz结尾的句子可以表示为 'xyz$' .
  要匹配字符串自然就是要说明在什么位置,出现什么字符,出现了几次.

  下面我们介绍常用的正则表达式规则:

  元字符:
  明确的字符: 字母,数字。   例如:abc a2bc 2345
    .    : 匹配除换行符外的任意字符。
    \w    : 匹配任意字母,数字,下划线或汉字。
    \s    : 匹配任意的空白字符。如空格,制表符,换行符。
    \S    : 匹配任意的显示(非空白)字符。
    \d    : 匹配数字字符。(grep中不支持)
    [a-z]  : 匹配字符范围内的字符。
    [0-9]  : 匹配数字范围内的字符。
    [指定字符] : 匹配任意在方括号内的字符。如[ac] 代表字符a 和 b.
    \N    : 转义字符,对于正则表达式所有用到的特殊字符需要做转义,才能像普通字符一样匹配使用。如$  须写成 \$

  匹配次数:
    ?    :符号前的字符匹配0次或1次。
    +    :符号前的字符匹配1次或多次。
    *     :符号前的字符匹配0次或多次。
    {n}    :符号前的字符匹配 n 次。
    {n,m}    :符号前的字符匹配至少n,最多m次。
    {n,}    :符号前的字符匹配至少n次。

  匹配位置:
    ^    :匹配字符串开始的位置。
    $    :匹配字符串结尾的位置。
    \b    :匹配单词的结尾或者开头。
    \B    :匹配不是单词的结尾或者开头。

  使用方法:  
    1)对于上诉三种符号,可以连续使用,定义多个约束条件。如:
    abc+    匹配ab字符并且后面至少一个c  符合规则的字符可以是:abc abcc abcc abccc
    ^abc    匹配以abc开头的字符串。符合规则的字符可以是:abcsd abc3e abcvd abcrgh
    a[a-z]{2}z  匹配2次a-z之间的字符。 符合规则的字符可以是:aefz aefz aghz argz
    abc.*xyz 匹配含有abc以及xyz,中间是任意字符的字符串。符合规则的字符可以是:abc2xy abcgzyz abcoxyz abchxyz
    \ba    匹配以a开头的单词。 符合规则的字符可以是:a an apple age

    2)符号之间的组合。如:
    (abc+){2}  做2次abc+的匹配。
    ^(abc+)    以(abc+)字符串开头的字符串。


阅读(1126) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~