Я бы счел себя искусным в понимании регулярных выражений; в первый раз, я был в тупике, и последние 20 минут поиска/поиска SO для ответа ничего не дали.
Рассмотрим строку:
var string = "Friends of mine are from France and they love to frolic."
И я хочу заменить или захватить (или сделать что-то с) каждое появление "fr" (без учета регистра).
Я мог бы использовать просто:
var replaced = string.replace(/fr/gi);
Однако, что, если я хотел игнорировать самое первое появление "fr"? Обычно я использовал положительный lookbehind (скажем, (?<=.)fr
в php), но наш javascript нашего друга этого не делает. Не устанавливая стороннюю библиотеку, есть ли способ гарантировать, что мое выражение НЕ совпадает в начале строки?
Обновление:. Хотя есть средства для замены с захваченным $1
, мой конкретный пример использования split()
здесь и потребует исправления массива после факта, если я что-то использовал как предложение @Explosion Pills string.replace(/^(fr)|fr/gi, "$1");