如何让忽略空格来处理转义序列

本文关键字:处理 转义序列 空格 | 更新日期: 2023-09-27 18:22:48

if (Regex.IsMatch(line, "^([''w''-'' ]+)'' ,([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+)", RegexOptions.IgnorePatternWhitespace))

我如何让忽略模式空格与上述一起使用。 它通常适用于@" ...."但由于我使用了大量的引号和反斜杠" ..."并用反斜杠而不是@"转义它们......"并加倍引用我的报价。 但现在它只能作为一条大线而不是整齐的小块。

如何让忽略空格来处理转义序列

原因是语言规范禁止普通字符串文字 ( "Normal String Literal" ( 跨越行 - 也就是说,它可能不包含嵌入的文字换行符。

像这样的字符串

@"This
string
spans
lines
"

可以跨越上述行。

您可以做的是利用 C# 的常量折叠并按照以下行构建字符串:

Regex foo = new Regex(
                    " part 1"
                  + " part 2"
                  + " part 3"
                  + ...
                , RegexOptions.IgnorePatternWhitespace
                ) ;