gpt4 book ai didi

php - Perl 正则表达式 X 修饰符的倒数

转载 作者:行者123 更新时间:2023-12-02 05:31:35 24 4
gpt4 key购买 nike

我想使用 Perl 正则表达式来匹配这样的字符串:

spaM
s p a m
sp Am
S p a m

看Perl的x修饰符,我应该可以这样做:

<?php
echo preg_match('#spam#ix', 's p a m');
?>

但这会打印出 0(假)。 x 修饰符实际上忽略了正则表达式中的空格,而不是被分析的字符串。反过来我该怎么做?也就是说,忽略正在分析的字符串上的空格而不是我的正则表达式?我知道有多个步骤的方法可以做到这一点,例如首先从字符串中去除所有空白,但我想知道是否有一个强大的一步正则表达式解决方案。

最佳答案

老实说,我认为你最好去掉空格然后匹配。因为这就是您的意思,您的代码将比寻找神奇的正则表达式或在字母之间注入(inject)空白模式更清晰。

Perl 看起来像这样。

my $string = "S   p A m";
(my $string_no_ws = $string) =~ s/\s//g;
if ($string_no_ws =~ /spam/i) {
#do something
}

实际上,如果你愿意,你可以在没有正则表达式的情况下进行测试,使用 index :

my $string = "S   p A m";
(my $lc_string_no_ws = lc $string) =~ s/\s//g;
if (index($lc_string_no_ws, 'spam') >= 0) {
#do something
}

关于php - Perl 正则表达式 X 修饰符的倒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6003997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com