Perl正则表达式:特性、操作与上下文解析
1. Perl正则表达式的基础特性
Perl的正则表达式在Unicode支持方面表现出色, \w
、 \d
、 \s
等元字符完全支持Unicode。不过,Perl的 \s
并不匹配ASCII垂直制表符。其Unicode支持版本为4.1.0,同时支持Unicode脚本。脚本和属性名称可以有 Is
前缀,但并非必需;块名称可以有 In
前缀,不过仅在块名称与脚本名称冲突时才需要。
此外,还支持 !\p{L&}
、 !\p{Any}
、 !\p{All}
、 !\p{Assigned}
和 !\p{Unassigned}
等伪属性,以及长属性名称,如 !\p{Letter}
。名称的单词部分之间可以有空格、下划线或无分隔符。同时, !\p{ˆ˙˙˙}
与 !\P{˙˙˙}
相同。
在边界匹配和环视方面,单词边界完全支持Unicode,环视可以有捕获括号,但后瞻仅限于始终匹配固定宽度文本的子表达式。
2. 正则表达式操作数与正则表达式字面量
正则表达式字面量是 m/regex/
中的“regex”部分,它被视为“感知正则表达式的双引号字符串”,经过特