【问题标题】:Atom search and replace with regex to add a new classAtom 搜索并用正则表达式替换以添加新类
【发布时间】:2016-08-14 19:55:18
【问题描述】:

我一直在搜索正则表达式,但我没有在 javascript 文件或任何程序上使用它。

我只想使用 Atom 进行搜索和替换。

<div class="header">
    <div class="content">
        <span class="user">User One</span><span class=
        "meta">Sunday, 31 July 2013 at 22:19 UTC+01</span>
    </div>
</div>
<p>Hello</p>

我想要的只是在整个文档中搜索,以便在最后一段添加一个类。唯一改变的是日期和时间,其余的都是一样的。

例如:

<div class="header">
    <div class="content">
        <span class="user">User One</span><span class=
        "meta">WHATEVER</span>
    </div>
</div>
<p class="new-class">Hello</p>

有什么想法吗?

编辑

我在想这样的事情:

搜索

<div class="header">
    <div class="content">
        <span class="user">User One</span><span class=
        "meta">***REGULAR EXPRESSION****</span>
    </div>
</div>
<p>

替换

<div class="header">
    <div class="content">
        <span class="user">User One</span><span class=
        "meta">***REGULAR EXPRESSION****</span>
    </div>
</div>
<p class="new-class">

【问题讨论】:

  • 你想替换p的所有实例吗?
  • 我将编辑我的问题
  • 也许找到([\S\s]*)&lt;p&gt;替换\1&lt;p class="new-class"&gt;
  • 不是因为有“两个用户”,所以必须将类添加到用户一的段落中,因此我想搜索所有内容。
  • 对于您需要正则表达式执行的操作,JavaScript 可能有点轻量级。我会发布一些你可以尝试的东西。

标签: javascript html regex atom-editor


【解决方案1】:

试试这个

查找:

/(?si)(<span(?=(?:[^>"']|"[^"]*"|'[^']*')*?\sclass\s*=\s*(?:(['"])\s*user\s*\2))\s+(?:".*?"|'.*?'|[^>]*?)+>\s*User\s*One\s*<\/span\s*>.*?)<p\s*>/

替换:

$1<p class="new-class">

展开

 (?si)
 (                             # (1 start)
      <span
      (?=
           (?: [^>"'] | " [^"]* " | ' [^']* ' )*?
           \s class \s* = \s* 
           (?:
                ( ['"] )                      # (2)
                \s* user \s* \2 
           )
      )
      \s+ 
      (?: " .*? " | ' .*? ' | [^>]*? )+
      >
      \s* User \s* One \s* 
      </span \s* >
      .*? 
 )                             # (1 end)
 <p \s* >

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 1970-01-01
    • 2019-11-03
    • 2013-06-14
    相关资源
    最近更新 更多