Вопросительный знак с знаком в регулярном выражении

Hey Experts Я новичок в regex.Я действительно смущен, изучая это регулярное выражение. Я нашел то, что очень сложно понять для меня. Дело в том, что знак вопроса и символ равны в regex.An например:

"(?<=\d)(\s)(?=[\d-])"

Мне просто нужно знать использование ?= В этом коде регулярного выражения. Я искал google много раз в этом случае, но я не нашел там никакого решения. Поэтому я пришел сюда. Это будет отличная помощь для меня, если вы ответите на этот вопрос правильно для меня.. :)..

Заранее спасибо..

Ответ 1

По крайней мере, в JavaScript ?= Соответствует суффиксу, но исключает его из захвата. ?= исключает выражение из всего совпадения. Для получения дополнительной информации см. Этот вопрос и соответствующие ответы.

Ответ 2

Это взгляд.

Часть, предшествующая только, согласована, если следовать [\d-]

Вы должны заметить, что начало выражения есть симметрично, lookbehind.

Обе группы не захватывают. Чтобы подвести итог, это регулярное выражение соответствует пробелу после цифры и следует либо цифрой, либо знаком минус. Например, это соответствует пробелу в "3 4".

Будьте осторожны, чтобы многие языки/двигатели не поддерживали lookbehind, по соображениям производительности и предсказуемости (см., Например, эту интересную статью).