2016-02-17 4 views
0

Я хочу вставить символ новой строки в regex заменить какое поле.Как вставить возврат каретки в regex заменить

Например:

Find With: (xyxyxy.*[\r\n]+)(yzyzyz) 

Replace with: $1xyxyxy\r\nxyxyxy 

also tried replace with: $1xyxyxy$r$nxyxyxy 

Ни один из них не кажется, работает.

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

+0

Вы уверены, что это JS? Не VBScript? В VBScript вам нужно 'vbCrLf':' "$ 1xyxyxy" & vbCrLf & "xyxyxy" ' –

+0

Можете ли вы показать пример ввода и соответствующий желаемый результат? – nnnnnn

+0

@ WiktorStribiżew: Я думаю, что это не хорошая идея. – Rahul

ответ

2

Вы можете захватить символы новой строки и использовать их для замены. Захватив символы новой строки, вам не нужно беспокоиться о различиях в представлении новой строки в новой строке.

Поиск:

(xyxyxy.*(\r\n|\r|\n)+)(yzyzyz) 

Заменить:

$1$2$3 

$2: Является ли единственный символ новой.

+0

Отличная работа вокруг. Итак, \ r \ n (возможно в регулярном выражении .net) будет работать в правильном правиле JavaScript или vb-script? – Rahul

+0

@Rahul Это будет работать на любом языке/инструменте. В зависимости от того, как вы его используете, обратные косые черты, возможно, необходимо удвоить. – Tushar

+0

ohh. Позвольте мне попробовать, $ 1xyxyxy \\ r \\ nxyxyxy тоже не работает. – Rahul

Смежные вопросы