您可以在 Perl 匹配运算符 -m//
或替换运算符 -中使用任何一组分隔符s///
。
其他示例:
s#oldTest#newTest#
s/oldTest/newTest/
s!oldTest!newTest!
s~oldTest~newTest~
s{oldTest}{newTest} # Here we use appropriate opening and closing braces.
m/someText/
m!someText!
/someText/ # You can omit the `m` when `/` is delimiter
!someText! # This is Wrong. You can't omit `m` in other delimiter.
您看到的使用不同分隔符的主要优点是,您可以通过使用不同的字符作为分隔符来避免在文本中转义分隔符。因此,使用#
作为分隔符,您不需要/
在字符串中转义。
来自perlop 文档:
在m//
运营商部分:
如果"/"
是分隔符,则首字母m
是可选的。使用 ,m
您可以使用任何一对非空白 (ASCII) 字符作为分隔符。这对于匹配包含"/"
, 以避免 LTS(倾斜牙签综合症)的路径名特别有用。如果"?"
是分隔符,则应用只匹配一次的规则,m?PATTERN?
如下所述。
在s///
运营商部分:
任何非空白分隔符都可以替换斜杠。使用标识符中允许的字符时,在 s 后添加空格。