正则表达式笔记1
量词
- “*” 匹配前面字符的零次或多次
- “+”匹配前面字符一次以上
- ”?”匹配前面字符一次或不匹配
- {4,10} 重复4到10次; {4}匹配4次; {4,}匹配4到无限次;{0,}等同于*;{1,}等同于+;{0,1}等同于?。
元字符
- “.” 匹配任意非回车字符。(.* calls ‘any old junk’)
- “()” 分组。 如:(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}的形式 -
括号的编号从左边开始
-
- “|” 匹配左或匹配右
- ”[]” 表示字符集。 ^表示除外。
- ”^” 在[]中表示反意。如[^n-z]表示除了字符“n”,“-”,“z”之外
- “\d”表示任意数字字符集。 [0-9]等于 \d。
- “\w” 表示字母、数字和下划线。即:[A-Za-z0-9_]
- “\s” 表示空白,包括换页、制表、换行、回车和空格。即:[\f\t\n\r ]
- 反意简写:[^\d]=\D;[^\w]=\W;[^\s]=\S。
- [\d\D],表示任意字符。而”.*“不包括换行符
位置
- “\b” 单词的开始或结束
- “^”和“$” 行开始或结束