我想要做的是在所有换行\ r \ n序列中分割这一行。但是,如果在其中一条PA41线之后有PA42,我不想这样做。我希望PA41和它后面的PA42线在同一条线上。我试过使用几个正则表达式无济于事。我正在寻找的输出理想情况如下:
这是我目前正在使用的正则表达式,但它并没有完全达到我想要的效果。
string[] p = Regex.Split(parameterList[selectedIndex], @"[\r\n]+(?=PA41)");
如果您需要任何澄清,请随时提出。
答案 0 :(得分:3)
string[] splitArray = Regex.Split(subjectString, @"\\r\\n(?!PA42)");
这应该有效。它使用负前瞻断言来确保PA42不遵循\ r \ n序列。
说明:
@"
\\ # Match the character “\” literally
r # Match the character “r” literally
\\ # Match the character “\” literally
n # Match the character “n” literally
(?! # Assert that it is impossible to match the regex below starting at this position (negative lookahead)
PA42 # Match the characters “PA42” literally
)
"
答案 1 :(得分:3)