Html 如何在Visual Studio正则表达式中捕获任何字符(包括\n)
我想做什么: 我想在VisualStudio中重新格式化一堆类似编写的HTML文件。html部分可能有不同的行数,但我知道它们以Html 如何在Visual Studio正则表达式中捕获任何字符(包括\n),html,regex,visual-studio,wildcard,Html,Regex,Visual Studio,Wildcard,我想做什么: 我想在VisualStudio中重新格式化一堆类似编写的HTML文件。html部分可能有不同的行数,但我知道它们以标记开始,没有其他标记。那么,我如何编写一个正则表达式来捕获中间任意数量的行呢 我到目前为止所做的尝试: 我不能使用,因为它不能捕捉换行符。但我也不知道如何告诉Visual Studio捕捉\n或。我知道如何使用集合(比如[a-z0-9]),但一旦你将放入集合中,它就会变成一个文本。所以[.\n]*?只捕获包含一组点和新行的div 提前感谢在Visual Studio的
标记开始,没有其他
标记。那么,我如何编写一个正则表达式来捕获中间任意数量的行呢
我到目前为止所做的尝试:
我不能使用
,因为它不能捕捉换行符。但我也不知道如何告诉Visual Studio捕捉\n
或
。我知道如何使用集合(比如[a-z0-9]
),但一旦你将
放入集合中,它就会变成一个文本。所以[.\n]*?
只捕获包含一组点和新行的div
提前感谢在Visual Studio的查找和替换功能中,您可以使用
[\s\r]
字符类来匹配任何字符,包括换行符。由于某些原因,[\s\s]
与CR(回车)符号不匹配
您的[。\n]
char类仅与文本
或换行符匹配
因此,使用
<div id="some_id">[\s\S\r]*?</div>
^^^^^^^^^^
[\s\s\r]*?
^^^^^^^^^^
[。\n]
由于某种原因不会匹配,我怀疑[。]
匹配的是点,而不是任何字符
(.|\n)
可用于匹配任何字符,包括换行符
若你们需要把它拿起来进行分组替换,那个么在整个句子上加上额外的括号
例如:
匹配字符串:
Assert.ThrowsException\(((.\n)*?),((.\n)*?)\代码>
替换模式:
Assert.Throws($2)代码>
可以将Visual studio样式异常转换为xUnit样式异常