文本块分析器
Text Block Parser
所以我有一个网站,它有一个文本框,你可以将一块文本粘贴到其中。您输入的字符串将作为变量存储。我正在编写一个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
我有一个基本的解析器设置,它用逗号替换'',但这显然不会减少它。这里需要进行一些严肃的解析操作。
您可以使用正则表达式解析字符串:
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返回一个数组,其中第一个元素是匹配项,第二个元素是第一个捕获组,因此您可以将捕获组的内容分配给变量。
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 如何在下面的ES6循环中获得前面的文本
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 借助asp.net验证或java脚本对多个文本进行验证
- 无法在ajaxStart中更改跨度文本
- 高亮显示时编辑文本大小和颜色
- jquery中的文本框验证
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- Sails.js:同时发布文本输入和一个文件
- 当鼠标悬停在文本中的单词上时显示警报
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 将纯文本URL转换为可单击链接
- 如何使用nodes和.createElement(“b”)将文本加粗
- 文本块分析器