Я пытался исправить простое регулярное выражение, которое:Regex: Можно ли пропустить повторяющиеся отрицательные искажения?
- Похожее все символы из начала строки (
^
) на первый&
характер или до конца строки ($
). - Встреча не начинается с
&
.
Примеры:
test
test
должен соответствовать.one&two
должно соответствоватьone
.&test
не должно соответствовать ни одному.
Мой текущий регулярное выражение выглядит следующим образом:
^(?<!\&)(.+?)(?=\&|$)
(Regex101)
В настоящее время это регулярное выражение не удается пример 3, где, если я дал это регулярное выражение &test
он соответствует &test
, но это ничего не должно соответствовать.
Я думаю, что это может быть проблема с отрицательным (?<!\&)
и назад ', что &test
матчи, потому что символ перед ним не &
, но он не учитывает каких-либо следующих &
символов.
Изменяет отрицательный lookbehind на счет повторения &
символов, и если да, то как я могу исправить это регулярное выражение?
(я знаю, что Regex101 использует Regex Python, но Regex на этот вопрос является предназначен для работы с Java.)
ах, негативный класс символов, как бы я не знал бы такая вещь? – octopod
Собственно, правда @RealSkeptic. Это уже запрещено. Мои мозги теперь работают линейно, как механизм регулярных выражений :) Если мы храним '(. +?)', Тогда требуется '(?! &)'. Вот что я имел в виду. –