正则表达式——基础部分

来源:互联网 发布:软件测试招聘 石家庄 编辑:程序博客网 时间:2024/06/16 11:45
  1. 元字符
    元字符:关于字符的字符。
    按作用分类:匹配字符,匹配位置,限定重复次数。
    (1) 常用的匹配字符
    . 匹配除换行符以外的任意字符
    \w 匹配字母、数字、下划线、汉字
    \s 匹配空白符(包括空格、TAB、换行等)
    (2) 常用的占位符
    ^开头
    $结尾
    \b单词开头结尾(notepadd++中测试发现只要不是字母、数字、下划线、汉字都有效,eg. \bgood\b 也能匹配?good/)
    (3) 常用的限定符
    a) * 重复0,1,2,3….
    b) +重复1,2,3….
    c) ? 重复0,1
    d) {n}重复n次
    e) {n,}重复>=n次
    f) {n,m} n<=重复次数<=m
  2. 其它
    (1) 构造字符集:[char set],eg. [aeiou]
    (2) 分枝条件:| 或条件
    (3) 分组、后向引用:() \,eg. (title).*(/\1) 可以匹配title others /title
    (4) 零宽断言:断言可看成是前提条件,
    (?=exp) 先行断言,真正要匹配的字符串相对于exp先。
    (?<=exp) 后发断言

Attention:
(1) notepadd++ 中可以处理一些正则表达式,但对于后向零宽断言不支持*,+,{}等不定长字符(亲测),然而对前向零宽断言却支持不定长字符。确实挺奇怪的,不要怀疑正则表达式写错了,在RegEx Tester中测试是可以的。因为这个问题浪费了好多时间[/捂脸]。
https://zhidao.baidu.com/question/1605914822884015867.html

Reference:
[1] 正则表达式30分钟入门教程.https://deerchao.net/tutorials/regex/regex.htm
[2] 正则表达式分组、断言详解.
http://www.cnblogs.com/iyangyuan/archive/2013/05/30/3107390.html