当前位置: 首页 > 编程语言 > C#

在C#中匹配换行符( n)的正则表达式分享

时间:2023-04-11 02:21:52 C#

C#学习教程:C#中匹配换行符(n)的正则表达式newContent=string.Format("({0})n{1}",stripped_content,reply)newContent将显示如下:(oldtext)newtext我需要一个正则表达式,括号中的文本和换行符括在括号中。我能想到的最好的是:conststringregex=@"^((.*)s)?(?.*)";varmatch=Regex.Match(original_content,regex);varstripped_content=match.Groups["capture"].Value;这有效,但我想专门匹配换行符(n),而不是任何空格(s)用n\n或\n替换s\n不起作用。请帮我保持理智!编辑:一个例子:publicstringReply(stringold,stringneww){conststringregex=@"^((.*)s)?(?.*)";varmatch=Regex.Match(old,regex);varstripped_content=match.Groups["capture"].Value;varresult=string.Format("({0})n{1}",stripped_content,neww);返回结果;}Reply("(messageOne)nmessageTwo","messageThree")返回:(messageTwo)messageThree如果指定了RegexOptions.Multiline,^和$可分别用于匹配行的开头和结尾。如果您不想使用此选项,请记住换行符可以是以下任何一个:n、r、rn,所以不要只看n,而是使用类似:[nr]+,或者更确切地说:(n|r|rn)。实际上它有效,但有相反的选项,即RegexOptions.Singleline?你可能在n之前有一个rn。尝试用(rn)替换s。如果您正在尝试匹配行尾,那么您可能会发现Regex.Match("string","regex",RegexOptions.Multiline)很有帮助我想我可能来晚了一点,但仍然希望这会有所帮助。我需要在两个散列标记之间获取多个标记。示例i/p:##token1####token2####token3_atoken3_btoken3_c##这似乎适用于我的情况:varmatches=Regex.Matches(mytext,"##(.*?)##",RegexOptions.Singleline);当然,您可能希望将两端的双哈希符号替换为您自己的。HTH。以上就是C#学习教程的全部内容:C#中匹配换行符(n)的正则表达式。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络合集,不代表立场,如涉及侵权,请右击联系管理员删除。如需转载请注明出处: