使用C#正则表达式如何将竖线与文字匹配?

时间:2018-02-06 21:32:38

标签: c# visual-studio

我正在使用Microsoft Visual Studio在C#中编写程序,我需要程序来匹配垂直条,但是当我尝试像"\|"那样逃避它时,它会给我一个无法识别的转义序列错误。我做错了什么?

3 个答案:

答案 0 :(得分:3)

在C#中

string test = "\|";

会失败,因为这是一个C#字符串转义序列,并且不存在这样的转义。因为您尝试在字符串中包含反斜杠,所以需要转义斜杠,以便字符串实际包含斜杠:

string test = "\\|";

此字符串中实际存储的内容为\|

答案 1 :(得分:3)

获得无法识别的转义序列的原因是反斜杠在C#字符串文字和正则表达式中用作转义字符。

您有几种方法可以解决此问题:

  • 使用逐字文字,即@"\|"
  • 在常规文字中使用第二个转义符,即"\\|"
  • 使用字符类,即[|]

第三个是我个人最喜欢的,因为它不需要计算反斜杠。

答案 2 :(得分:0)

该字符串正在处理“\ |”作为C#中的转义管道。试试“\ |”为了逃避\正则表达式实际上看到了\ |你想要的。