javascript - 如何使用正则表达式匹配字符串<div><span>regular</span><span>表达式</span></div>

标签 javascript regex

  1. 如何使用正则表达式来匹配该字符串: <div><span>regular</span><span>expression</span></div> .

  2. 如何交换第一个跨度的内容和第二个跨度的内容。

我认为可以使用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/

相关文章:

php - 正则表达式替换 PHP 中的特殊字符?

javascript - 将 HTML 剥离为允许的标签

javascript - 在 .split() 函数中使用捕获组

javascript - bxslider - 在每张幻灯片中添加和删除新的 css 类

javascript - SmoothState 和 Wordpress。为玩家和 Google Chart 回调调用什么函数?

javascript - 有没有办法只用一个回调调用递归地进行异步调用?

javascript - 跨源请求仅支持 react 中的协议(protocol)方案错误

python - 如何获取子字符串最后一次出现之前的字符串?

javascript - 谷歌地图加载两次

regex - .htaccess 重写文件夹异常