【发布时间】:2013-02-01 10:57:52
【问题描述】:
我有字符串:
=?windows-1256?B?IObH4cPM5dLJIA==?= =?windows-1256?B?x+HYyO3JIC4uLg==?= =?windows-1256?B?LiDH4djj5s3Hyg==?= =?windows-1256? B?Rlc6IOTP5skgKA==?=
我需要提取?B? 和==?= 之间的所有匹配项。
因此我需要:
IObH4cPM5dLJIA
x+HYyO3JIC4uLg
LiDH4djj5s3Hyg
Rlc6IOTP5skgKA
附:此字符串取自 textarea,在函数执行后,脚本应将当前 textarea 值替换为结果。我什么都试过了,
var result = str.substring(str.indexOf('?B?')+3,str.indexOf('==?='));
几乎按照我需要的方式工作,但它只找到第一个匹配项。这不起作用:
function Doit(){
var str = $('#test').text();
var pattern = /(?B?)([\s\S]*?)(==?=)/g;
var result = str.match(pattern);
for (var i = 0; i < result.length; i++) {
$('#test').html(result);
};
}
【问题讨论】:
-
使用模式:/(\?B\?)(.*?)(==\?=)/g
-
谢谢!几乎是我需要的
标签: javascript regex split match trim