如何|
在正则表达式中匹配垂直斜杠
我试图"1|2|3|4|"
用这个正则表达式 匹配这样的内容
“(<group1>.*?)|.*?|.*?|(<group2>.*?)|
我想获得第一组值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>.*?)|"
您所拥有的很接近,只需删除问号即可。星号匹配 0 或更多,因此不需要问号。
\ 转义 |。你错过了几个反斜杠。它应该是这样的:
(<group1>.*)\|.*\|.*\|(<group2>.*)\|
您需要在 C# 的字符串声明前添加 @ 符号以获取文字文本。
@"backslash\all day"