Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在Visual Studio正则表达式中捕获任何字符(包括\n)_Html_Regex_Visual Studio_Wildcard - Fatal编程技术网

Html 如何在Visual Studio正则表达式中捕获任何字符(包括\n)

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的

我想做什么

我想在VisualStudio中重新格式化一堆类似编写的HTML文件。html部分可能有不同的行数,但我知道它们以
标记开始,没有其他
标记。那么,我如何编写一个正则表达式来捕获中间任意数量的行呢

我到目前为止所做的尝试

我不能使用
,因为它不能捕捉换行符。但我也不知道如何告诉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样式异常