gpt4 book ai didi

php - 字符类中的单词

转载 作者:行者123 更新时间:2023-12-02 04:41:25 24 4
gpt4 key购买 nike

在字符类中我可以匹配完整的单词吗?

使用这段代码,正则表达式删除了 {else} 标签,所以可以在字符类中添加 else 作为一个词,而不是作为4 个字母?

$section = "
{if {money} == 'yes'}
Sweet!
{else}
Too bad...
{/if}
";

echo preg_replace("/\{[^ \/]+\}/iU", "''", $section);

我认为这可能行得通(但行不通):

echo preg_replace("/\{[^ (else)\/]+\}/iU", "''", $section);

预期输出:

{if '' == 'yes'}
Sweet!
{else}
Too bad...
{/if}

最佳答案

。您绝对不能将单词放在字符类 [] 中。

但您可以在此处使用Negative Lookahead

$section = <<<DATA
{if {money} == 'yes'}
Sweet!
{else}
Too bad...
{/if}
DATA;

$section = preg_replace('~\{(?!else|/)\S+\}~i', "''", $section);
echo $section;

参见 Live demo

正则表达式:

\{            '{'
(?! look ahead to see if there is not:
else 'else'
| OR
/ '/'
) end of look-ahead
\S+ non-whitespace (all but \n, \r, \t, \f, and " ") (1 or more times)
\} '}'

关于php - 字符类中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20752879/

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