分隔符
许多语言允许在几个特定字符之间包含或分隔正则表达式,通常是正斜杠/
。
分隔符对转义有影响:如果分隔符是/
且正则表达式需要查找/
文字,则正斜杠必须在它可以是文字(\/
)之前进行转义。
过度转义会损害可读性,因此考虑可用选项非常重要:
Javascript 是唯一的,因为它允许正斜杠作为分隔符,但没有别的(虽然它允许字符串化的正则表达式 )。
Perl >= 1
例如,Perl 允许几乎任何东西都是分隔符。甚至阿拉伯字符:
$str =~ m ش ش
Perl 的文档中提到了特定的规则。
PCRE 允许两种类型的分隔符:匹配分隔符和括号样式分隔符。匹配分隔符使用单个字符的对,而支架式分隔符使用表示开始和结束对的几个字符。
- 匹配分隔符:
!"#$%&'*+,./:;=?@^_`|~-
- 支架式分隔符:
()
,{}
,[]
,<>