用Javascript regex在一行中查找表达式,然后将其追加到该行的末尾
Javascript regex to find expression in a line then append to the end of that line
我正忙于将文本日志解析为HTML,并用HTML项目符号标记替换选项卡
我需要一个正则表达式来识别一行的开头,然后在它的末尾附加一些东西。例如:
config system accprofile
edit "Number 1"
set mntgrp read-write
edit "read-only"
set mntgrp read
config system 2
edit "Number 2"
set mntgrp read-write
edit "read-only"
set mntgrp read
需要更改为:
<ul>
<li>config system accprofile</li>
<ul>
<li>edit "Number 1"</li>
<ul>
<li>set mntgrp read-write</li>
</ul>
<li>edit "read-only"</li>
<ul>
<li>set mntgrp read</li>
</ul>
</ul>
<li>config system 2</li>
<ul>
<li>edit "Number 2"</li>
<ul>
<li>set mntgrp read-write</li>
</ul>
<li>edit "read-only"</li>
<ul>
<li>set mntgrp read</li>
</ul>
</ul>
</ul>
我可以通过搜索"config"来识别每行的前面,但我需要将'n't<ul>
附加到行的末尾。
我该怎么做?
您可以这样做:
function myReplaceMethod (text) {
console.clear();
text = text.replace(/^(?:'t| {4}){2}(?!'s)(.*)/gm, ''t't't<li>$1</li>');
text = text.replace(/^(?:'t| {4}){1}(?!'s)(.*)/gm, ''t't<li>$1</li>'n't't't<ul>');
text = text.replace(/^(?!'s)(.*)/gm, ''t<li>$1</li>'n't't<ul>');
text = text.replace(/('n('s*)<li>.*)(?:'n(?!'2's)|(?!['s'S]))/gm, '$1'n$2</ul>'n');
text = text.replace(/^/, '<ul>'n');
text = text.replace(/$/, ''n</ul>');
text = text.replace(/('n('s*)(?:'t| {4})<'/ul>'n)(?='n)/gm, '$1$2</ul>');
return text;
};
// ---
var string =
'config system accprofile'n' +
' edit "Number 1"'n' +
' set mntgrp read-write'n' +
' edit "read-only"'n' +
' set mntgrp read'n' +
''n' +
'config system 2'n' +
' edit "Number 2"'n' +
' set mntgrp read-write'n' +
' edit "read-only"'n' +
' set mntgrp read';
var output = myReplaceMethod(string);
console.log(output);
相关文章:
- 如何先追加,然后在jquery中运行ajax
- parentNode.removeChild然后追加回来
- 如何将动态追加元素的多个值存储到单个 var 中,然后检索到函数中
- 追加到数据选择器的值,然后从中删除
- 用Javascript regex在一行中查找表达式,然后将其追加到该行的末尾
- 睡眠1秒,然后追加
- 窗口间隔-检查页面上的元素,然后追加到它
- 追加html按钮,然后调用其onClick事件jquery
- 追加然后关注子输入查询
- jQuery成功后,重新加载页面,然后追加
- JQuery生成兄弟元素,然后同时追加所有元素
- 从用户输入追加URL,然后继续
- 如何编码url从ajax返回数据,然后追加到html
- 加载,然后追加AJAX成功
- js:填充我的集合,然后将其追加到页面
- 检查Element是否有class,然后追加和Element
- Jquery追加然后更新元素id
- 循环数组,追加输入文本框,然后设置这些文本框的值
- AJAX-等待数据追加,然后循环下一个
- 追加然后删除,但不要删除最后输入的文本或行