Regex: преобразовать группу захвата в заглядывание вперед - PullRequest
0 голосов
/ 26 октября 2018

Я ищу XXX в начале строки, в которой есть 3 вхождения @ (не обязательно последовательных), например:

XXXsometext@somemoretext@yetmoretext@alwaysmoretext

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

^XXX((?:[^@]*[@]){3}[^@]*)$

, который работает довольно хорошо (https://regex101.com/r/sACro7/3) при поиске XXX, только когда за ним следует текст, содержащий ровно 3 вхождения @, за исключением того, что я не хочу использовать вторую группу захвата в моей замене. Я хочуполное совпадение моего регулярного выражения - просто XXX.

Я пытался заменить группу захвата на упреждающий просмотр

^XXX(?=(?:[^@]*[@]){3}[^@]*)$

, но это, похоже, не работает (https://regex101.com/r/pTX9KS/1).

Любые предложения будут приветствоваться.

Оливье

...