我想做什么:
我想在 Visual Studio 中重新格式化一堆类似编写的 HTML 文件。 html 部分可能有不同的行数,但我知道它们以 <div id="some_id">
开头标签,没有其他 <div>
附上标签。那么,我该如何编写一个正则表达式来捕捉中间任意数量的行呢?
到目前为止我尝试了什么:
我无法使用 .
,因为它不会捕获换行符。但我也不知道如何告诉 Visual Studio 捕捉 \n
或 .
.我知道如何使用集合(比如 [a-z0-9]
)但是只要你放一个 .
进入他们,它变成了文字。所以<div id="some_id">[.\n]*?</div>
只捕获包含一堆点和新行的 div
提前致谢
最佳答案
在 Visual Studio 查找和替换功能中,您可以使用 [\s\S\r]
字符类匹配任何字符,包括换行符。由于某些原因,[\s\S]
与 CR(回车)符号不匹配。
您的 [.\n]
字符类仅匹配文字 .
或换行符。
因此,使用
<div id="some_id">[\s\S\r]*?</div>
^^^^^^^^^^
关于html - 如何在 Visual Studio Regex 中捕获任何字符(包括\n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46323689/