匹配垂直斜线

时间:2013-07-25 16:40:23

标签: c# regex

如何匹配正则表达式中的垂直斜杠|

我尝试将此"1|2|3|4|"这样的内容与此正则表达式“(<group1>.*?)|.*?|.*?|(<group2>.*?)|

匹配

我想要获得第一组值1和第二组4这个正则表达式不起作用

2 个答案:

答案 0 :(得分: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>.*?)|"

答案 1 :(得分:0)

你所拥有的是关闭,只需删除问号。星号匹配0或更多,因此不需要问号。

\ escapes |。你错过了一些反斜杠。它应该是这样的:

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

你需要在C#的字符串声明前添加@符号来获取文字文本。

@"backslash\all day"