В качестве примера, я хочу сопоставить букву A, если за ней 0 или более пробелов и нет печатных символов, мне нужно решение, которое будет широко работать в стандартных Python Java, golang и других движках. .
Соответствует этому:
Не это:
Я могу сделать это на PHP, используя приведенный ниже синтаксис, но \K не поддерживается во многих движках (по умолчанию Python, Java, golang)
Я могу это сделать:
но он будет совпадать и со всеми пробелами перед буквой A, а это не то, что мне нужно.
Я чувствую, что решение должно быть таким довольно очевидно, но я пропускаю. Я знаю, что в просмотре я могу легко это сделать, например, если бы я хотел сопоставить букву «A», а не какие-либо печатные символы после нее, я бы просто сделал:
чтобы соответствовать букве "А" здесь:
и не здесь:
Но я не уверен, как это сделать для просмотра назад, потому что в большинстве движков квантификатор * внутри просмотра назад делает его нефиксированной шириной, что является ошибкой.
Я понимаю, что в JavaScript это допустимый синтаксис
Подробнее здесь:
https://stackoverflow.com/questions/792 ... -behind-it