举例,正文为:“xxbxyz”
要求:循环把“b”后面的字符一个个地匹配出来,结果应该为:
x
y
z
应该很简单才对,但不知道怎么做,找了许多资料和网文,都没成功。
我这样写“b(.+?)”只能匹配一次,取到一个“x”。请指教。
要求:循环把“b”后面的字符一个个地匹配出来,结果应该为:
x
y
z
应该很简单才对,但不知道怎么做,找了许多资料和网文,都没成功。
我这样写“b(.+?)”只能匹配一次,取到一个“x”。请指教。
for(i=0;i<afterb.length;i++)alert(afterb[i])
<script type="text/javascript">
alert(
("xxbxyz".match(/[^b](?=[^b]*$)/ig)||[]).join('\n')
)alert(
(/[^b]+$/i.exec('xxbxyz')||[''])[0].split('').join('\n')
);
</script>
//貌似是这样的吧...<script type="text/javascript">
var key = 'xx';
alert(
('xxbxyz'.split(key)[1]||['','']).split('').join('\n')
);
</script>
那个错了改下...<script type="text/javascript">
var key = 'x';
alert(
('xxbxyz'.split(key)[1]||'').split('').join('\n')
);
</script>
var key = 'xx';
alert(
('xxbxyz'.split(key)[1]||'').split('').join('\n')
);
</script>
- -,少个X.
如果你的串里key是唯一的话,这么做就可以了.
JavaScript、Delphi不支持?<=这样的正则语法吧...
var sToMatch = "xxbxyzb123b456b789blwt213";
var regB = /b[^b]+/gi;
var temp = "";
var arrMatches = sToMatch.match(regB);
for( var i = 0; i < arrMatches.length; i++){
temp = arrMatches[i].split('');
for(var j = 0; j < temp.length; j++)
{
if(temp[j] != 'b')
document.write(temp[j] + "<br />");
}
}
看看是不是楼主需要的?已经测试过了