我通过复制粘贴Word文档的段落来创建网页。当我复制粘贴时,句子的开头前面有两个空格,我想用一个空格全局替换。但是,我不希望这会影响我的缩进,这也是两个空格。
我试图通过使用Atom'搜索正则表达式'来尝试这样做。特征。我试图输入表达式
<p>.+ .+</p>
但是,这不会产生任何匹配:
但是,应该有匹配,正如常规搜索中p
元素中突出显示的区域所示。 &#39;:
此外,通过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工作中进行此搜索?
答案 0 :(得分:2)
图片中突出显示的空格位于<p class="flow-text">
内 - 具有类属性 - 您正在搜索不包含属性的<p>
。你应该这样做:
<p[^>]*>.+ .+</p>
然而,这会产生一个匹配,您必须使用捕获组将一个替换为两个空格。您可能想尝试更精确的方法。搜索:
[ ]{2,}(?=(?:(?!<p[^>]*>).)*<\/p>)
并替换为单个空格。
答案 1 :(得分:2)