美文网首页
2018-02-07 技术笔记

2018-02-07 技术笔记

作者: zhaohw810 | 来源:发表于2018-02-07 18:02 被阅读0次

    正则表达式(Regular Expression)

    • 字符 \
    1. 在非特殊字符前的 \ 表示的是下一个字符是特殊的。例如: \b 表示匹配一个字符的边界,而不是匹配字符b。
    2. 可以将其特殊字符转义为字面量。例如:模式/a/ 表示匹配0个或多个a;模式/a*/ 匹配a这样的字符。
    3. 不要忘记对 \ 字符串的转义,\ 本身也是一个转义字符串。
    • 字符 ^
      匹配输入的开始,如果多行标志被设置为true,那么也匹配换行符后紧跟的位置。例如,/^A/ 只匹配"Abcddd" 不匹配 "an A" 。
    • 字符 $
      匹配输入的结束,如果多行标志被设置为true,那么也匹配换行符前的位置。
      例如:/t$/ 会匹配 ‘eat’ 而不会匹配 'eater'
    • 字符 *
      匹配一个表达式0次或多次,等价于{0,}
      例如:/bo*/ 会匹配 A glot boooooot 中的boooooo 或者 bird 中得 b
    • 字符 +
      匹配前面一个表达式1次或多次,等价于{1,}
      例如:/a+/ 匹配 an 中得a 或者 aaaaaaaaaa 中的 aaaaaaaaaa。
    • 字符 ?
      匹配前面一个表达式0次或1次,等价于{0,1}
      例如:/e?le?/ 匹配 "angel" 中的 'el',和 "angle" 中的 'le' 以及"oslo' 中的'l'。
      如果紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪的(匹配尽量少的字符),和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。

    例如,对 "123abc" 应用 /\d+/ 将会返回 "123",如果使用 /\d+?/,那么就只会匹配到 "1"。

    还可以运用于先行断言,如本表的 x(?=y) 和 x(?!y) 条目中所述。

    • 字符 .
      匹配除换行符里的任意单个字符
      例如:/.n/ 匹配"nay, an apple is on the tree" 中的 'an' 和 'on',但是不会匹配 'nay'。

    相关文章

      网友评论

          本文标题:2018-02-07 技术笔记

          本文链接:https://www.haomeiwen.com/subject/uxsazxtx.html