- (?=<RE>), look ahead匹配但不吃掉
- (?!<RE>),下一组文本不match时,才匹配
- (?<=<RE>), lood behind, also (?<!<RE>)
$a = " cat housecat catch crazycats "; $a =~ s/ (?<= \s ) cat (?= \s ) / CAT /g ; # 不变 $a =~ s/ (?
- (?xims-xims: <RE>)
/ Answer: ((?i) yes ) / ; # 'Answer: yes', '…YES', '…Yes', etc / Answer: ((? -i ) yes ) /i ; # 'answer: yes' only, not "…YES"
- (?:<RE>),使用(…)但不计入反向引用中
- (?#)comment, replaced by m/…/x now.
- ?RE? Match only once between reset call.
其中介绍下面这些的部分不错:
(?#text)
(?:pattern)
(?imsx:pattern)
(?=pattern)
(?!pattern)
(?<=pattern)
(? (?{code})
(?>pattern)
(!<=pattern)
(!=pattern)
(?(condition)yes-pattern|no-pattern)
(?(condition)yes-pattern)
(?imsx)
(?-imsx)
与换行有关(\n)的修饰符
/s 使得.可以匹配任何字符,包括换行符。例如:/Barney.*Fred/s
/m 将字符串视作多行,允许根据字符串内部的换行符进行匹配。
正则式的描述符介绍:The Effective Perler-Know the difference between regex and match operator flags
没有评论:
发表评论