Я сопоставил все символы, которые не являются вкладками в регулярном выражении.
/[^\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));