gpt4 book ai didi

javascript - 匹配第一行的条件

转载 作者:行者123 更新时间:2023-12-03 09:39:36 24 4
gpt4 key购买 nike

我已经匹配了正则表达式中不是制表符的所有字符。
/[^\t]/g

我也想做同样的匹配,但只是针对第一行。这将允许我将第一行中的非制表符着色为一种颜色(标题行),并将其余部分着色为另一种颜色。

我能够匹配整个第一行,但无法匹配第一行非制表符。有人可以帮忙吗?这可能吗。

/^(?!\n)(.*)/g

http://jsfiddle.net/viciouskinid/w0o8sa7w/

<div id='Highlighter'></div><div id='Highlighter1'></div>
<textarea id='Status'>asdfafd afsdd fadsfasd
asdfafd afsdd fadsfasdasdfafd afsdd fadsfasd
asdfafd afsdd fadsfasd
asdfafd afsdd fadsfasd
asdfafd afsdd fadsfasd
asdfafd afsdd fadsfasd
asdfafd afsdd fadsfasd</textarea>




var highlighter = $('#Highlighter'),highlighter1 = $('#Highlighter1'),
status = $('#Status'),
re = /[^\t]/g,
re1 = /^(?!\n)(.*)/g;//;




var keyupinput = function (highlighter,status,re) {
var content = status.val(),
match,
start = 0,
output = '';

while (match = re.exec(content)) {
output += content.substring(start, match.index) + '<b>' + content.substring(match.index, match.index + match[0].length) + '</b>';
start = match.index + match[0].length;
}
output += content.substring(start, content.length);
highlighter.html(output);
}

status.on('keyup input', keyupinput(highlighter,status,re1));
status.on('keyup input', keyupinput(highlighter1,status,re));

最佳答案

你不能用 JavaScript 正则表达式一次性做到这一点。因此,最好的折衷方案是提取第一行并在其中进行替换:

var result = str.replace(/^.*/, function (m) { 
return m.replace(/[^\t\r]+/g, '<b>$&</b>'); });

关于javascript - 匹配第一行的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31226272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com