html - 如何在 Visual Studio Regex 中捕获任何字符(包括\n)

标签 html regex visual-studio wildcard

我想做什么:

我想在 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/

相关文章:

正则表达式:如何确定给定字符之前的字符出现的奇数/偶数?

c# - 如何自动将解决方案中的所有项目设置为同一版本?

c# - 如何在VS2012中修正代码风格?

c# - 如何获取Python脚本返回值以在Visual Studio表单中使用?

javascript - 使用 JavaScript 和 HTML5 预览图像

html - Div 向下推到另一个 Div 下面

html - 非 IE6 浏览器中的按钮边框颜色

html - Web Worker加载绝对URL

python - 如何在正则表达式中动态捕获一行文本中的两个日期?

PHP glob() 列出不以下划线开头的文件?