如何使用正则表达式来匹配该字符串:
<div><span>regular</span><span>expression</span></div>
.如何交换第一个跨度的内容和第二个跨度的内容。
我认为可以使用jquery源码。
最佳答案
请务必阅读 RegEx match open tags except XHTML self-contained tags
那么你的问题的解决方案是:
var str = '<div><span>regular</span><span>expression</span></div>';
var newString =
str.replace(
/(<div><span>)([^<]*)(<\/span><span>)([^<]*)(<\/span><\/div>)/i,
'$1$4$3$2$5'
); // where /[^<]*/ matches anything but '<'
// results in "<div><span>expression</span><span>regular</span></div>"
空白安全正则表达式:
/(<\s*div\s*>\s*<\s*span\s*>)([^<]*)(<\/\s*span\s*>\s*<\s*span\s*>)([^<]*)(<\/\s*span\s*>\s*<\/\s*div\s*>)/i
但老实说,这只是对您模糊问题的模糊答案,可能需要 bit more jQuery :)
关于javascript - 如何使用正则表达式匹配字符串<div><span>regular</span><span>表达式</span></div>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25524209/