2012-08-17 38 views
0

我有一個字符串,其中包含幾個地方的\r\n以及某些地方的\n。 這是一個示例:正則表達式中的更正

\r\nThis is an\nexample\nand I need\na\nsolution\r\nr\nOK\r\n 

現在我只需要This is an\nexample\nand I need\na\nsolution\n沿着它
這場比賽是我試過的工作雖然

\r\n([\s\w]+)\r\n 

這讀取完整的字符串表達式。修正請

回答

2

你不希望這是在句子中\r是你比賽?你可以使用一個負匹配:

\r\n([^\r]+)\r\n 

我相信使用\s將同時匹配\r\n爲空格字符

+0

謝謝你的工作! – Cdeez 2012-08-17 10:15:10

0

嘗試使用非貪婪量詞?

\r\n([\s\w]+?)\r\n 
+0

工程。我可以像這樣匹配:'\ r \ nSucess \ r \ n \ r \ nOK \ r \ n'和這個:'\ r \ nThis是一個\ nexample \ nand我需要\ na \ nsolution \ r \ nr \ nOK \ r \ n'但不是這樣:'\ r \ n新聞快訊!隨時更新最新動態。 Just Dial * 777 * 17#Charges Re.1 per day \ r \ n \ r \ nOK \ r \ n' – Cdeez 2012-08-17 10:09:41

+0

@ Daniel:我得到了解決方案,但想知道'?'量詞。你能解釋一下嗎? – Cdeez 2012-08-17 10:24:46

+0

非貪婪量詞基本上是這樣說的:「選擇與表達式匹配的結果並且其中包含最少量的字符」。例如:字符串:'aaaa'。表達式'a +?'將匹配'a'。表達式'a +'將匹配'aaaa'。 '?'儘可能少匹配。 – 2012-08-17 10:29:14

0

一個多懶惰的比賽應該工作:

/\r\n(.+?)\r\n/m 
+0

與字符串不匹配..釹爲什麼'/'? – Cdeez 2012-08-17 10:04:38

+0

'/'是一個普通的正則表達式分隔符,例如在JavaScript和Ruby中,'m'是一個多行修飾符。只需使用\ r \ n(。+?)\ r \ n'並設置多行選項。 – Stefan 2012-08-17 10:09:54

相關問題