正则表达式补充

1. /b 和 /B
    # /bthe 匹配任何以 the 开始的字符串
    # /bthe/b 仅匹配 the 
    # /Bthe 任何包含但并不以 the 作为起始的字符串
2. [cr] 表示 c 或者 r 
    [cr][23][dp][o2] 
    一个包含四个字符的字符串,第一个字符是“c”或“r”,
    然后是“2”或“3”,后面 是“d”或“p”,最后要么是“o”要么是“2”。
    例如,c2do、r3p2、r2d2、c3po等 
3.["-a] 
    匹配在 34-97 之间的字符
4.Kleene 闭包
    * 匹配 0 次或 多次
     + 匹配一次或 多次
     ? 匹配 0 次或 15.匹配全部有效或无效的 HTML 标签
    </?[^>]+>
6.国际象棋合法的棋盘移动
    [KQRBNP][a-h][1-8]-[a-h][1-8]
    从哪里开始走棋-跳到哪里
7.信用卡号码
    [0-9]{15,16}
8.美国电话号码
    \d{3}-/d{3}-/d{4}
    800-555-1212
9.简单电子邮件地址
    \w+@\w+\.com
    [email protected]
10.使用正则表达式,使用一对圆括号可以实现
    对正则表达式进行分组
    匹配子组
        对正则表达式进行分组可以在整个正则表达式中使用重复操作符
    副作用:
        匹配模式的子字符串可以保存起来
    提取所匹配的模式
    简单浮点数的字符串:
        使用 \d+(\.\d*)?
        0.004  2  75.
    名字和姓氏
        (Mr?s?\.)?[A-Z][a-z]*[A-Za-z-]+
11.在匹配模式时,先使用 ? ,实现前视或后视匹配 条件检查 
    (?P<name>) 实现分组匹配
    (?P:\w+\.)* 匹配以 . 结尾的字符串
        google  twitter. facebook.
    (?#comment) 用作注释
    (?=.com) 如果一个字符串后面跟着 .com 则进行匹配
    (?<=800-) 如果一个字符串之前为 800- 则进行匹配
        不使用任何输入字符串
    (?<!192\.168\.) 过滤掉一组 C 类 IP 地址
    (?(1)y|x) 如果一个匹配组1(\1) 存在,就与y匹配,否则与x匹配

 

 

 

 

 

 

 

 

 

 

 

 


2020-04-10

猜你喜欢

转载自www.cnblogs.com/hany-postq473111315/p/12675139.html