C# 匹配垂直斜线

C# 匹配垂直斜线,c#,regex,C#,Regex,如何在正则表达式中匹配垂直斜杠| 我正在尝试将像这样的内容“1 | 2 | 3 | 4 |”与这个正则表达式“(.*?)|.*?(.*)| 我想得到第一组值1和第二组值4这个正则表达式不起作用除了Romoku的答案之外,如果不想使用Regex.Escape,您还可以做另外两个中的一个 // double backslash "\\" to escape the \ in c# so it gets passed to regex "(<group1>.*?)\\|.*?|.*?|(&

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

我正在尝试将像这样的内容“1 | 2 | 3 | 4 |”与这个正则表达式
(.*?)|.*?(.*)|


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

除了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>.*?)|"
//双反斜杠“\\”用于在c中转义\以便将其传递给正则表达式
"(.*?)\\|.*?|.*?|(.*?)|"
//使用@符号指示c#逐字记录文本
@"(.*?)\|.*?|.*?|(.*?)|"

您所拥有的已接近,只需删除问号。星号匹配0或更多,因此不需要问号

\escapes |。您缺少了几条后斜线。它应该类似于:

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

我刚刚编辑了这个问题,我想匹配vetical斜杠符号
@"backslash\all day"