В JavaScript могут ли (?=regex) и (?!regex) использоваться в середине регулярного выражения или они должны использоваться в конце регулярного выражения? Если их можно использовать посередине, что это значит?
(?=regex)
(?!regex)
(?=…) и (?!…) (lookaheads) утверждают, что строка после того, как она соответствует / не соответствует под Регексу, без фактического использования их. Они могут появиться где угодно. Например
(?=…)
(?!…)
^(\d)(?!\1)\d+$
соответствует
12345 67890
но не
11234 55678
Подробнее см. http://www.regular -expressions.info / lookaround.html .