У меня сложный вопрос.
У меня есть текст с разделителями табуляции для соответствия регулярному выражению.
Мое регулярное выражение выглядит так:
^([\w ]+)\t(\d*)\t(\d+)\t([^\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
Однако проблема в том, что в моем исходном тексте шестое поле содержит строку регулярного выражения. Следовательно, он может содержать \ x09, что, естественно, взрывает регулярное выражение, так как оно также рассматривается как вкладка.
Есть ли способ сказать движку регулярных выражений: "Совпадение по \ t, но не по тексту \ x09". Я думаю, нет, так как они одно и то же.
Если нет, есть ли какой-нибудь символ, который можно было бы безопасно использовать для разделения текста, содержащего строку регулярного выражения?