想要一正则,要求
1.“.” 被替换成一个<span>标签
2.“^” 之前的文字被<span>标签包裹
3. 空格 破折 等其他符号忽略例子。
abc^ >> <span>abc</span>
abc.def^ >> abc<span><span><span>def</span>
abc^[空格]def^ <span>abc</span>[空格]<span>def</span>要求匹配如下
abc
abc^
a b c
ab^.c.de
abc.def^
ab.cde^.fg
a-b^.cd
ab^ cd^.ef.g
abc^.def gh^ ij^
abc^.de-fg.hi非常感谢
1.“.” 被替换成一个<span>标签
2.“^” 之前的文字被<span>标签包裹
3. 空格 破折 等其他符号忽略例子。
abc^ >> <span>abc</span>
abc.def^ >> abc<span><span><span>def</span>
abc^[空格]def^ <span>abc</span>[空格]<span>def</span>要求匹配如下
abc
abc^
a b c
ab^.c.de
abc.def^
ab.cde^.fg
a-b^.cd
ab^ cd^.ef.g
abc^.def gh^ ij^
abc^.de-fg.hi非常感谢
str=str.replace(/\./g,"<span>").replace(/(\w*)\^/g,"<span>$1</span>");
"abc",
"abc^",
"a b c",
"ab^.c.de",
"abc.def^",
"ab.cde^.fg",
"a-b^.cd",
"ab^ cd^.ef.g",
"abc^.def gh^ ij^",]
var regex1 = /(\w+)\^/;
var regex2 = /\./g
for(var i = 0 ; i < array.length; i ++)
{
while(regex1.test(array[i])) array[i] = array[i].replace(regex1,"<span>"+RegExp.$1+"</span>");
array[i] = array[i].replace(regex2,"<span></span>")
}
document.write(array.join("</br>"))
</script>
function getStr(str)
{
var reg1 = /\./g;
var reg2 =/([^\^\.]*?)\^/g;var tempstr = str.replace(reg2,"<span>$1</span>").replace(reg1,"<span></span>");return tempstr;
}
var array = [
"abc",
"abc^",
"a b c",
"ab^.c.de",
"abc.def^",
"ab.cde^.fg",
"a-b^.cd",
"ab^ cd^.ef.g",
"abc^.def gh^ ij^",];for(i=0;i<array.length;i++)
{
alert(array[i]+"-->"+getStr(array[i]));
}