所以有一个字符串,
<?php
$string = <<<STR
/\!@#$%^&*()?.,djasijdiwqpk,=-c./zcxzo123154897kp02ldz.,world90iops02&&&8ks
STR;
我想将所有内容替换为NULL,除了单词“world”和数字1和3,
我只想从该字符串使用正则表达式
获取“world13”或“world31”我已经实施了基本解决方案, 通过strpos()和substr(),这是有效的。但我需要通过RegExp
来做到这一点问题是:
是否可以使用RegEx提取该单词?
答案 0 :(得分:1)
是否可以使用RegEx提取该单词?
是。您可以使用此正则表达式:
(world)
啊,我明白了!您可以使用:我知道,但我无法提取world13或world31
$string = preg_replace('/.*/s', 'world13', $string);
答案 1 :(得分:1)
~(world(?:(31|13))~i
。 'i'
使正则表达式不区分大小写。 ?:
就在那里,所以它不会在一个单独的结果中将它放在matches数组中。顺便说一下,它不会说它非常复杂:)如果你想要每个 1和3,你可以使用~(world|1|3)~i
。
答案 2 :(得分:1)
一个简单的解决方案是找到你需要的东西,然后将它们连接成一个字符串。
preg_match_all('/world|[13]/', $string, $matches);
$ret = join($matches[0]);