我找不到如何解决以下问题:
preg_replace("/e[^t]/", "", "testet");
这将只删除"e",但删除"es"。我怎样才能实现它只删除第一个 e(并将第二个"et"排除在外)?
谢谢!
负面展望:
preg_replace("/e(?!t)/", "", "testet")
正如这里所解释的,前瞻不会捕获字符(使用字符),它们只会断言匹配是否有效。
preg_replace("/e([^t])/", "$1", "testet");
与其尝试/e[^t]/
/e(?!t)/
(负面展望)
让它不贪婪
preg_replace("/e[^t]/u", "", "testet");