preg_replace("/[dsa]+/", "$Something that gets the first char of [dsa]+", "abcdaeefg")
要返回:
"abcdeefg"
“abc [da] eefg”,其中“d”后跟“a”,所以将“da”替换为“d”。
那你怎么能这样做?
答案 0 :(得分:2)
像
这样的东西preg_replace("/([dsa])[dsa]+/", "$1", "abcdaeefg")
将输出
abcdeefg
$1
将包含 [dsa] + 的第一个字符答案 1 :(得分:1)
您可以使用以下正则表达式。
echo preg_replace('/[dsa]\K[dsa]+/', '', 'abcdaeefg'); //=> "abcdeefg"
说明:
[dsa]\K # any character of: 'd', 's', 'a' and reset the reported match
[dsa]+ # any character of: 'd', 's', 'a' (1 or more times)
答案 2 :(得分:0)
另一种解决方案:
preg_replace("/(?<=[dsa])[dsa]+/", "", "abcdaeefg");
结果:
abcdeefg