所以我有一个网站,其中有一个文本框,您可以粘贴一段文本。您输入的字符串存储为变量。我正在处理一个解析字符串的javascript部分,并为您留下两个变量。你过去的部分看起来就像下面的那样。
<!-- Note: comment.
Comment/Comment, more comments "comment"-->
<xx:aaa xx:bbb="sss" xx:ccc="SectionA;SectionB;SectionC=SectionD;SectionE=SectionF.SectionG.SectionH;,SectionI=SectionJ;SectionK=SectionL;SectionM=SectionN;SectionO=SectionP.SectionQ.SectionR;SectionS=/;"/>
<vz:aaa xx:bbb="iii" xx:ccc="\SectionT\SectionU\_SectionV,\SectionW\SectionX,\SectionY\_SectionZ"/>
所以输入字符串,在解析之后你将得到以下变量:
varaible1: SectionA;SectionB;SectionC=SectionD;SectionE=SectionF.SectionG.SectionH;,SectionI=SectionJ;SectionK=SectionL;SectionM=SectionN;SectionO=SectionP.SectionQ.SectionR;SectionS=/;
variable2: \SectionT\SectionU\_SectionV,\SectionW\SectionX,\SectionY\_SectionZ
我有一个基本的解析器设置,它用逗号代替\,但是它并没有明显地削减它。这里需要进行一些严肃的解析操作。
答案 0 :(得分:1)
您可以使用正则表达式解析字符串:
var string = 'Note: comment. Comment/Comment, more comments "comment" \
<xx:aaa xx:bbb="sss" xx:ccc="SectionA;SectionB;SectionC=SectionD;SectionE=SectionF.SectionG.SectionH;,SectionI=SectionJ;SectionK=SectionL;SectionM=SectionN;SectionO=SectionP.SectionQ.SectionR;SectionS=/;"/> \
<vz:aaa xx:bbb="iii" xx:ccc="\SectionT\SectionU\_SectionV,\SectionW\SectionX,\SectionY\_SectionZ"/>';
var regex = /xx:ccc=\"([^\>]*)\"\/\>/g;
var variable1 = regex.exec(string)[1];
var variable2 = regex.exec(string)[1];
alert(variable1);
alert(variable2);
xx:ccc=\"
匹配字符xx:ccc="
([^\>]*)
捕获多个字符,可以是除了近括号
\"\/\>
匹配字符"/>
regex.exec返回一个数组,其中第一个元素是匹配,第二个元素是第一个捕获组,因此您可以将捕获组的内容分配给变量。