量词

  1. “*” 匹配前面字符的零次或多次
  2. “+”匹配前面字符一次以上
  3. ”?”匹配前面字符一次或不匹配
  4. {4,10} 重复4到10次; {4}匹配4次; {4,}匹配4到无限次;{0,}等同于*;{1,}等同于+;{0,1}等同于?。

元字符

  1. “.” 匹配任意非回车字符。(.* calls ‘any old junk’)
  2. “()” 分组。 如:(abc)+可怕匹配abcabcabc; (abc)*则可以匹配任意字符。
    • ()用来向后引用, back reference,如:

        $_ = "yabba dabba doo";
        if (/y(.)(.)\2\1/) { # matches 'abba'
        print "It matched the same after y!\n";
        }
        ##()和.组合在一起真是意味深长阿 。。。。^_^
      
    • /(.)\111/ —-> /(.)\g{-1}11/
      #/(.)\111/按照\111反向引用,但是没有第111组,所以要使用\g{N}的形式

    • 括号的编号从左边开始

  3. “|” 匹配左或匹配右
  4. ”[]” 表示字符集。 ^表示除外。
  5. ”^” 在[]中表示反意。如[^n-z]表示除了字符“n”,“-”,“z”之外
  6. “\d”表示任意数字字符集。 [0-9]等于 \d。
  7. “\w” 表示字母、数字和下划线。即:[A-Za-z0-9_]
  8. “\s” 表示空白,包括换页、制表、换行、回车和空格。即:[\f\t\n\r ]
  9. 反意简写:[^\d]=\D;[^\w]=\W;[^\s]=\S。
  10. [\d\D],表示任意字符。而”.*“不包括换行符

位置

  1. “\b” 单词的开始或结束
  2. “^”和“$” 行开始或结束