2013-07-25 48 views
0

我如何在正則表達式垂直斜線|匹配比賽垂直斜線

我已經嘗試與此正則表達式匹配表達這樣"1|2|3|4|"內容
(<group1>.*?)|.*?|.*?|(<group2>.*?)|

我想在第一批獲得價值1和第二4這個正則表達式是不工作

+0

我剛纔編輯的問題,我想匹配vetical斜線符號 – user2619661

回答

0

你有什麼是接近的,只是刪除問號。星號匹配0或更多,因此不需要問號。

\ escapes |。你錯過了一些反斜槓。它應該是這樣的:

(<group1>.*)\|.*\|.*\|(<group2>.*)\| 

而且你需要在C#的字符串聲明前面添加@符號以獲得文本文本。

@"backslash\all day" 
1

除了Romoku的答案,你可以做其他兩個中的一個,如果你不希望使用Regex.Escape

// double backslash "\\" to escape the \ in c# so it gets passed to regex 
"(<group1>.*?)\\|.*?|.*?|(<group2>.*?)|" 

// use the @ sign to indicate to c# to take text verbatim 
@"(<group1>.*?)\|.*?|.*?|(<group2>.*?)|"