У меня жесткий.Регулярное выражение с разделителем табуляции, содержащим x09
У меня есть текст с разделителями табуляции, чтобы соответствовать регулярному выражению.
Моя регулярное выражение выглядит следующим образом:
^([\w ]+)\t(\d*)\t(\d+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)$
и пример текста источника (вкладки преобразуются в \ т для ясности):
JJ\t345\t0\tTest\tSome test text\tmore text: pcre:"/\x20\x62\x3b\x0a\x09\x61\x2e\x53\x74\x61\x72/"\tNone
Однако, проблема заключается в том, что в моем исходном тексте, 6-е поле содержит строку регулярных выражений. Поэтому он может содержать \ x09, который, естественно, взрывает регулярное выражение, так как он рассматривается как вкладка.
Есть ли способ сообщить движку регулярных выражений «Матч по \ т, но не по тексту \ x09». Я думаю, что нет, так как они - одно и то же.
Если нет, есть ли какой-либо символ, который можно было бы безопасно использовать для разграничения текста, содержащего строку регулярных выражений?
Всегда указывайте, какой движок и язык вы используете. (даже если я полагаю, что вы работаете на ПК, учитывая ваш образец) Детали и недостатки Regexp сильно отличаются от одного движка (и языка) к другому. – ZJR
Использование встроенного класса Pattern и Matcher в Java 1.4.2 – wadesworld