search

Home  >  Q&A  >  body text

javascript - 请问js如何用正则分割而非筛选字符串

如题,存在一个字符串,该字符串由中英文字符及<img>标签组合而成,英文字符要提取出来加上/n
的换行符,但是这样img标签里的英文也会被识别,因此提取前想先对字符串作分割,img标签不作处理
            
对正则不怎么熟悉,下面2个方法都只能提取到一部分,但是因为英文字符处理完要拼回去所以顺序又
不能打乱,请问各位有什么好办法么?
            
var str="terter<img src='dwa' />t43<img src='34r2342//'/>服务"
str.match(/<img[^>]*>/g)  // ["<img src='dwa' />", "<img src='34r2342//'/>"]
str.split(/<img[^>]*>/g)  // ["terter", "t43", "服务"]

输入格式:各种字符和多个<img>标签的混合字符串
输出格式:字符和<img>标签按顺序分割的一个数组
PHP中文网PHP中文网2821 days ago268

reply all(1)I'll reply

  • 天蓬老师

    天蓬老师2017-04-10 17:01:53

    str.match( /<img[^>]*>|[^<]+/g )
    

    (如果你的业务逻辑不需要对<>做更精确的匹配)

    reply
    0
  • Cancelreply