【问题标题】:Regex to change text between tags [duplicate]正则表达式更改标签之间的文本[重复]
【发布时间】:2014-07-26 11:36:50
【问题描述】:

我有想要删除和替换的文本。我有两个标签,它位于:

<!--start--></span>
</p>
<p id="nameIs" style="font-size: 12pt;">Dear Mr Johnstone,</p>
<p style="font-size: 12pt;">400 Isle Road</p>
<p style="font-size: 12pt;">Here Road</p>
<p style="font-size: 12pt;">KP33 7OL</p>
<p><span style="font-size: 12pt;"><!--end-->

我想替换文本,但我无法使正则表达式工作。好像没找到文字:

var textholder2 = textholder.replace(/<!--start-->.*<!--end-->/, idToUseIs)

idToUseIs 是替换文本。

谢谢

【问题讨论】:

  • 几乎可以肯定是换行符。如果您指出您正在运行此正则表达式的语言,它会有所帮助。
  • 它不是重复的,因为我无法查询 dom,它是我从中提取的文本字符串和我更改然后放回编辑器的编辑器

标签: javascript regex text replace


【解决方案1】:
textholder.replace(/<!--start-->(.|\n|\r)+<!--end-->/g, idToUseIs)

【讨论】:

  • 感谢这项工作就像一个魅力:)
【解决方案2】:

固定字符串不需要正则表达式

只需使用substring 和简单的数学

var tok1 = "<!--start-->"
var tok2 = "<!--end-->"
textholder2 = textholder2.substring(0, s.indexOf(tok1)) + 
              textholder2.substring(textholder2.indexOf(tok2)+tok2.length

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 2020-10-14
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    相关资源
    最近更新 更多