Javascript 替换两个子字符串之间的子字符串 请考虑以下例子: let string = '<h2>Some content here</h2><p>Foo Bar</p><h2>Different content here</h2>'

Javascript 替换两个子字符串之间的子字符串 请考虑以下例子: let string = '<h2>Some content here</h2><p>Foo Bar</p><h2>Different content here</h2>',javascript,html,regex,Javascript,Html,Regex,预期结果: '<h2>xxyyzz</h2><p>Foo Bar</p><h2>xxyyzz</h2>' 'xxyyzFoo-Barxxyyz' 如何替换两个子字符串之间的内容?您的正则表达式也包含所有内容,包括Foo bar部分 你需要更新你的正则表达式,例如 let string='Some content hereFoo BarDifferent content here'; alert(string.repla

预期结果:

'<h2>xxyyzz</h2><p>Foo Bar</p><h2>xxyyzz</h2>'
'xxyyzFoo-Bar

xxyyz'

如何替换两个子字符串之间的内容?

您的正则表达式也包含所有内容,包括
Foo bar
部分

你需要更新你的正则表达式,例如

let string='Some content hereFoo Bar

Different content here';
alert(string.replace(/[^您的正则表达式也接受所有内容,包括
Foo-bar
部分

你需要更新你的正则表达式,例如

let string='Some content hereFoo Bar

Different content here'; 警报(字符串。替换(/[^
let string='此处的某些内容Foo Bar

此处的不同内容' string=string.replace(/[\s\s]*?/g,'ABCDEF'); console.log(字符串);
let string='此处的某些内容Foo Bar

此处的不同内容' string=string.replace(/[\s\s]*?/g,'ABCDEF');
console.log(string);
方法之一是调整正则表达式:

let string = '<h2>Some content here</h2><p>Foo Bar</p><h2>Different content here</h2>';
string = string.replace(/<h2>(.*?)<\/h2>/gm, '<h2>xxyyzz</h2>');
console.log(string); // <h2>xxyyzz</h2><p>Foo Bar</p><h2>xxyyzz</h2>
let string='Some content hereFoo Bar

Different content here'; string=string.replace(/(.*)/gm,'xxyyz'); console.log(字符串);//xxyyzFoo-Bar

xxyyz
一些细节/限制:

  • 标签区分大小写
  • g修饰符:全局。所有匹配项(第一次匹配后不返回)
  • m修饰符:多行。使“^”和$匹配每行的开始/结束(不仅仅是字符串的开始/结束)
类似问题:
其中一种方法是调整正则表达式:

let string = '<h2>Some content here</h2><p>Foo Bar</p><h2>Different content here</h2>';
string = string.replace(/<h2>(.*?)<\/h2>/gm, '<h2>xxyyzz</h2>');
console.log(string); // <h2>xxyyzz</h2><p>Foo Bar</p><h2>xxyyzz</h2>
let string='Some content hereFoo Bar

Different content here'; string=string.replace(/(.*)/gm,'xxyyz'); console.log(字符串);//xxyyzFoo-Bar

xxyyz
一些细节/限制:

  • 标签区分大小写
  • g修饰符:全局。所有匹配项(第一次匹配后不返回)
  • m修饰符:多行。使“^”和$匹配每行的开始/结束(不仅仅是字符串的开始/结束)
类似问题:

是否有理由不使用DOM API来进行这些更改?默认情况下,量词是贪婪的,也就是说,它们匹配最长的子串。@费利克林:是的,算法将运行服务器端,并且有一个原因,为什么它不能做客户端。也有节点的HTML解析器。他确实输入了。你有没有理由使用DOM API来做这些改变?在默认情况下,量词是贪婪的,也就是说它们匹配最长的子串。@费利克林:是的,算法将运行服务器端,并且有一个原因,为什么它不能做客户端。也有节点的HTML解析器。输入有多复杂。可能值得一提的是,只有在标题中没有其他标记的情况下,这才会起作用。可能值得一提的是,只有在标题中没有其他标记的情况下,这才会起作用。我相信,如果你解释你更改了什么以及为什么更改它,人们会发现这很有帮助。我相信人们会发现我如果你解释你改变了什么以及为什么改变它,那就没什么帮助了。
let string = '<h2>Some content here</h2><p>Foo Bar</p><h2>Different content here</h2>';
string = string.replace(/<h2>(.*?)<\/h2>/gm, '<h2>xxyyzz</h2>');
console.log(string); // <h2>xxyyzz</h2><p>Foo Bar</p><h2>xxyyzz</h2>