0
Мне нужно регулярное выражение, которое должно анализировать строку с пробелом и если в строке есть пробел, который заканчивается кавычками (single/double), тогда он не должен анализировать.Нужно регулярное выражение Java
abc cde 'efg hij'k lmn'opq rst' 'ijk lmn' u'v'w xyz 'abc' \'\\\\\' \'_Notes.txt\'
Требование O/P:
abc
cde
'efg hij'k
lmn'opq rst'
'ijk lmn'
u'v'w
xyz
'abc'
\'\\\\\'
\'_Notes.txt\'
Я использовал ниже шаблон для моего требования, но это синтаксического анализа, как показано ниже
Pattern p = Pattern.compile("[^\\s\"']+|\"([^\"]*)\"|'([^']*)'");
O/P:
abc
cde
'efg hij' //here k is missing
lmn'opq
rst'
'ijk lmn'
u'v'w
xyz
'abc'
'\\' //here original string is \'\\\\\'
'_Notes.txt' //here origina string \'_Notes.txt\'
Это почти работает, за исключением специальных символов с последующим слэшем, O/P вашего шаблон (пожалуйста, проверьте последние два слова аЬс CDE «EFG hij'k ЛМН 'OPQ первого' 'IJK LMN' u'v'w хуг 'а' '\\' // здесь мне нужно оригинальное слово \ '\\\\\' '_Notes.txt' // здесь Мне нужно «Notes.txt» Большое вам спасибо за помощь! – Raj
Чтобы помочь вам лучше, мне понадобится дополнительная информация, так как пока я не уверен, правильно ли понимаю вашу ситуацию. Откуда взялся текст? Это происходит из строкового литерала, такого как '' ab \\ cd ", или, может быть, другого источника, такого как текстовый файл, который содержит' ab \ cd' (обратите внимание, что букваль представляет тот же текст, что и текст, хранящийся в файле, поскольку '' \ '' является специальным в строковых литералах и требуют дополнительного ускорения). Если я создаю строковый литерал, представляющий ваш текст, например 'String text = 'abc cde' efg hij'k lmn'opq rst '' ijk lmn 'u'v'w xyz' abc '\\' \\\\\\\\ \\ '\\' _ Notes.txt \\ '";' Я получаю '\' \\\\\ '' – Pshemo
Это текст sql, получаемый из бэкэнд, где специальный символ встречается с помощью косой черты для выполнения sql w/o error Итак, разберите sql, а затем создайте текст в файле. Мое намерение состоит в том, чтобы выполнить sql без изменений из сохраненного файла. – Raj