2015-06-28 7 views
5

jestem zastępując tt przez g gdy nie następuje listem p pomocą poniższego wiersza kodu:Korzystanie zastąpić() zastępuje zbyt dużo treści

"tpto".replace(/(t)[^p]/g, "g"); 

Jednak wynik jest tpg i spodziewałem tpgo. Ponieważ nie wiem, który list będzie zgodny z t potrzebuję czegoś dynamicznego, ale nie wiem, co zrobić, żadnych pomysłów?

Odpowiedz

10

Można użyć negative lookahead assertion:

"tpto".replace(/t(?!p)/g, "g"); 
// => "tpgo" 
  • /t(?!p)/: t będzie pasował tylko wtedy, gdy nie jest (ujemny), a następnie (uprzedzona) przez p.
Powiązane problemy