У меня есть следующее регулярное выражение: (?iu)[(?=\s)]\bgo\b(?!\S)
Найти разделитель и игнорировать ограничитель внутри цитаты
Он работает, чтобы разделить по ограничителю go
, в основном это улавливает весь мир и игнорирует специальные символы, такие как #go
или --go
поэтому он не считается эти разделители.
Что мне нужно теперь его игнорировать разделители внутри комментариев, как: select 'something go something' from table1 go --
Он должен найти только один разделитель и вернуть select 'something go something' from table 1
и --
. Любая помощь будет оценена, спасибо.
- ... обновление вопрос выше:
@randomducks, спасибо за совет, насколько есть я мог проверить решение отлично работает.
Прямо сейчас у меня есть следующий шаблон:
(?=(([^']+'){2})*[^']*$)(?iu)[(?=\s)]\bgo\b(?!\S)|^go|go$
(?=(([^']+'){2})*[^']*$)
: Ignore разделитель внутри цитируемый текст
(?iu)[(?=\s)]\bgo\b(?!\S)
: поймать разделителем "идти"
|^go|go$
: также поймать начало и конец разделителя строк/строк.
Знать все, что мне нужно, это игнорировать разделитель внутри комментариев, например/* go * /. Я попытался адаптировать шаблон выше, чтобы сделать это, но пока не повезло.
Какова цель этого? Какую проблему ты пытаешься решить? – forgivenson
Код фильтра T-SQL. И я уже это делаю. Но у меня все еще есть проблема с разделителями внутри кавычек. Я хочу игнорировать их. PS: шаблон можно протестировать с помощью метода split() из String. – HAT
Я чувствую, что регулярное выражение не является хорошим вариантом для игнорирования текста в кавычках. Если вы не ограничены использованием регулярного выражения, ответ на этот вопрос стоит посмотреть. http://stackoverflow.com/questions/4917932/regex-to-ignore-text-between-quotes – forgivenson