加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:22:10 所属栏目:百科 来源:网络整理
导读:从 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 (lea
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读