2015-10-19 5 views
-1

Как я сопрягать все символы новых строки символов \ п, не окруженные "в регулярном выражении . Например:Regex для п не в двойных кавычках

Он должен соответствовать каждому из этих переводов строк:

"2547026616" 
79587329 
,"A","2547026616 
"79587329"," 

Но не должны соответствовать этим (за исключением последнего \ п исключением):

"254702661679587329" 
"A" 
"254702661679587329" 
+1

Какой язык программирования вы используете? –

+0

Ваш вопрос не имеет для меня слишком большого смысла. –

+0

Нет конкретного языка, просто ищущего общее регулярное выражение. Извините, что не ясно? Я рад прояснить –

ответ

0

Это регулярное выражение может быть то, что вы ищете:

Это поймает любую новую строку, которой не предшествует кавычка и/или не следует кавычек, она использует отрицательные и положительные обратные перспективы и взгляды, вы можете прочитать о них more here. В зависимости от вашего языка программирования они могут не поддерживаться и/или вам может потребоваться некоторое ускорение в регулярном выражении.

Вот example on regex101, я использовал x\n, но это просто, чтобы было легко отображать совпадения.

+0

Это прекрасно! Спасибо за ссылки, а –

0

Попробуйте это:

([^"]\n.?|.?\n[^"]) 

Это соответствует 2 символов, окружающих \ п, а (если таковой имеется)

Если вы хотите также последнюю строку, чтобы закончить с двойной кавычки, даже если он не следует \ п, а затем расширить регулярное выражение для:

([^"](\n.?|$)|.?\n[^"]) 

... и если первая строка должна начинаться с двойной кавычки, а затем распространяется на:

([^"](\n.?|$)|(^|.?\n)[^"]) 
Смежные вопросы