如何在 Atom 编辑器中搜索 <p> 元素内的双空格?
How to search for double spaces within <p> elements in Atom Editor?
我正在通过复制粘贴 Word 文档的段落来创建网页。当我复制粘贴时,句子的开头有两个 space,我想用一个 space 全局替换它们。但是,我不希望这影响我的缩进,这也是两个 spaces.
我正在尝试使用 Atom 的 'search with regex' 功能来完成此操作。我正在尝试输入表达式
<p>.+ .+</p>
但是,这不会产生任何匹配项:
但是应该有匹配项,如在常规搜索“ ”中 p
元素中突出显示的区域所示:
此外,从 Python shell 中的一个小实验来看,这个正则表达式似乎符合我要找的内容:
In [8]: re.findall(r'<p>.+ .+</p>', ' <p>Foo Bar</p>')
Out[8]: ['<p>Foo Bar</p>']
不过,从 Atom 的文档看来,搜索词应该是 Javascript RegExp
表达式。我尝试从文档 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) 中将其改编为 Javascript,但到目前为止没有成功。如何在 Atom 中进行此搜索?
您图片中突出显示的 space 位于 <p class="flow-text">
内 - 具有 class 属性 - 而您正在搜索 <p>
,但不包括属性。你应该这样做:
<p[^>]*>.+ .+</p>
然而,这会产生一个匹配项,您必须使用捕获组将两个 space 替换为一个。您可能想尝试更精确的方法。搜索:
[ ]{2,}(?=(?:(?!<p[^>]*>).)*<\/p>)
并替换为单个 space。
在将 <p>Foo Bar</p>
作为示例输入的情况下,以下查找和替换将起作用:
"Find in current buffer" = <p>(.+) (.+)</p>
"Replace in current buffer" = <p> </p>
我正在通过复制粘贴 Word 文档的段落来创建网页。当我复制粘贴时,句子的开头有两个 space,我想用一个 space 全局替换它们。但是,我不希望这影响我的缩进,这也是两个 spaces.
我正在尝试使用 Atom 的 'search with regex' 功能来完成此操作。我正在尝试输入表达式
<p>.+ .+</p>
但是,这不会产生任何匹配项:
但是应该有匹配项,如在常规搜索“ ”中 p
元素中突出显示的区域所示:
此外,从 Python shell 中的一个小实验来看,这个正则表达式似乎符合我要找的内容:
In [8]: re.findall(r'<p>.+ .+</p>', ' <p>Foo Bar</p>')
Out[8]: ['<p>Foo Bar</p>']
不过,从 Atom 的文档看来,搜索词应该是 Javascript RegExp
表达式。我尝试从文档 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) 中将其改编为 Javascript,但到目前为止没有成功。如何在 Atom 中进行此搜索?
您图片中突出显示的 space 位于 <p class="flow-text">
内 - 具有 class 属性 - 而您正在搜索 <p>
,但不包括属性。你应该这样做:
<p[^>]*>.+ .+</p>
然而,这会产生一个匹配项,您必须使用捕获组将两个 space 替换为一个。您可能想尝试更精确的方法。搜索:
[ ]{2,}(?=(?:(?!<p[^>]*>).)*<\/p>)
并替换为单个 space。
在将 <p>Foo Bar</p>
作为示例输入的情况下,以下查找和替换将起作用:
"Find in current buffer" = <p>(.+) (.+)</p>
"Replace in current buffer" = <p> </p>