Lou*_*uis 3 c# regex string multiline
我需要一个Regex对象来拒绝跨多行传播的任何字符串。
我希望这能成功:
"This is my string"
Run Code Online (Sandbox Code Playgroud)
这会失败:
"This is my string" + Environment.NewLine + "that spreads acrosss" + Environment.NewLine + "multiple lines."
Run Code Online (Sandbox Code Playgroud)
我一直在阅读MSDN 上的文档并假设以下内容应该有效:
"^.+"RegexOptions.Singleline对象,没有任何选项(no或RegexOptions.Multiline)。使用多个行字符串进行测试时,Regex.IsMatch方法始终返回 true。我相信这是因为当字符串中至少有一部分与模式匹配时,IsMatch将返回 true。
就我而言,新行之前的任何内容都会导致匹配。唯一失败的方法是字符串只有换行符而没有其他字符。
是否有正则表达式验证方法将字符串视为一个整体,而不是将其拆分为匹配的子字符串?我怀疑我可能需要更复杂的字符串模式来实现我的目标。
您可以使用此正则表达式仅匹配单行:
^[^\r\n]+$
Run Code Online (Sandbox Code Playgroud)
并且您不需要RegexOptions.Multiline与此正则表达式一起使用。