Как я могу написать регулярное выражение в RE2 для «совпадающих строк, не начинающихся с 4 или 5»?
В PCRE я бы использовал ^(?!4)
, но RE2 не поддерживает этот синтаксис.
Как я могу написать регулярное выражение в RE2 для «совпадающих строк, не начинающихся с 4 или 5»?
В PCRE я бы использовал ^(?!4)
, но RE2 не поддерживает этот синтаксис.
Вы можете использовать это регулярное выражение:
^[^45]
^
соответствует началу, а [^45]
соответствует чему угодно, кроме 4
или 5
в начале.
^(?:[^45]|$)
.
- person Tim Pietzcker; 28.01.2015
-ed
в нем? любая идея для этой ссылки. Здесь 2 случая совпадения работают нормально, но условие на отрицание (не соответствующий случай), похоже, не работает. Пожалуйста, поправьте меня, если я ошибаюсь. @анубхава
- person CdVr; 25.07.2020
У меня тоже такая проблема, но я ищу строки слов, а не отдельные символы.
Я делаю это дважды.
Сначала найдите все совпадающие элементы, а затем отфильтруйте их, чтобы получить окончательный ответ.
aaabaraaa
aaafooaaa
aaazooaaa
aaaqooaaa
предположим, что я хочу найти центральный текст (между aaa), и он не должен быть bar или fooэто легко с PCRE1 =› https://regex101.com/r/nJcbt1/1/
используйте re2 Я выберу разделяй и властвуй: в уменьшенном масштабе с группой, а затем фильтрую.
решение, написанное с помощью Golang =›
[1] PCRE: Perl-совместимые регулярные выражения
^[^45]
, но он будет потреблять символ. - person Lucas Trzesniewski   schedule 28.01.2015