次の問題を解決する方法がわかりません。
preg_replace("/e[^t]/", "", "testet");
これは「e」だけを切り取りますが、「es」は削除されます。最初のeのみを削除する(そして2番目のeを'et'のままにする)ことをどのように達成できますか?
ありがとう!
ネガティブな先読み:
preg_replace("/e(?!t)/", "", "testet")
ここで説明するように、先読みは文字をキャプチャせず(文字を消費します)、一致が有効である場合にのみアサートします。
preg_replace("/e([^t])/", "$1", "testet");
(ネガティブ先読み)で/e[^t]/
試す代わりに/e(?!t)/
貪欲にしない
preg_replace("/e[^t]/u", "", "testet");