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

前端之家收集整理的这篇文章主要介绍了正则表达式 – 为什么`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
原文链接:https://www.f2er.com/regex/356744.html

猜你在找的正则表达式相关文章