正则表达式 – 为什么`stoutest`不是有效的正则表达式?

perlop开始:

If “/” is the delimiter then the initial m is optional. With the m you can use any pair of non-whitespace characters as delimiters. This is particularly useful for matching path names that contain “/”,to avoid LTS (leaning toothpick syndrome). If “?” is the delimiter,then the match-only-once rule of ?PATTERN? applies. If “‘” is the delimiter,no interpolation is performed on the PATTERN. When using a character valid in an identifier,whitespace is required after the m.

所以我可以把任何一封信作为分隔符.最终这个正则表达式应该没问题:

stoutest

那可以改写

s/ou/es/

但它似乎在Perl中不起作用.为什么?

$perl -e '$_ = qw/ou/; stoutest; print'
ou
因为Perl无法挑选出操作符

perldoc perlop说这个

Any non-whitespace delimiter may replace the slashes. Add space after the s when using a character allowed in identifiers.

这个程序工作正常

my $s = 'bout';
$s =~ s toutest;
say $s;

产量

best

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...