正则表达式选择两个字符串之间的所有内容,但不选择其中一个字符串

时间:2014-10-15 14:10:57

标签: javascript html regex

我有一些html代码,我需要正则表达式并删除它的一部分。

在此特定示例中,我需要删除2-columns.。完整字符串为name="2-columns.Heading-1",但需要阅读name="Heading-1"

我希望这是可扩展的,因为另一个例子可能是name="3-columns.Heading-1"。所以我想在name="的起点和结尾.之后删除所有内容(我还想删除.

任何人都可以帮我形成正确的正则表达式吗?我挣扎了。

3 个答案:

答案 0 :(得分:1)

[^"]*\.

试试这个。empty string。见。演示。

http://regex101.com/r/dZ1vT6/24

答案 1 :(得分:0)

单向;

str = str.replace(/(^name=\")(.*\.)/, "$1");

答案 2 :(得分:0)

在第1组更换:

/name="(([^.]+)\.)Heading-1"/

或者:

'<tag name="2-columns.Heading-1">lalalala</tag>'.replace(/name="(([^.]+)\.)Heading-1"/, 'name="Heading-1"')

是:

"<tag name="Heading-1">lalalala</tag>"

'<tag name="2-columns.Heading-2">lalalala</tag>'.replace(/name="(([^.]+)\.)Heading-1"/, 'name="Heading-2"')

是:

"<tag name="2-columns.Heading-2">lalalala</tag>"

或:

'<tag name="2-columns.Heading-1">lalalala</tag>'.replace(/(name=")(([^.]+)\.)(?=Heading-1")/, "$1");