2

我正在用 javascript 构建一个文本输入字段。但它更像是一个文本编辑器,可能会包含数百页长的巨大文档。我需要用户能够在此文本中的任何位置进行更改并突出显示与某组正则表达式匹配的术语。目前这就是我所拥有的:

var regexes = {
    thing_A: /\>(.*?)(?:(?!(\s|$)).)*/,
    thing_B: /\#(.*?)(?:(?!(\s|$)).)*/,
    thing_C: /@(.*?)(?:(?!(\s|$)).)*/,
    whitespace: /\s+/,
    other: /\S+/,
};

我有在按键上运行的代码。它检查作为空格键的键“32”。当空格键被击中时,它会加入正则表达式并搜索文档。这适用于少量文本,但对于大量文本会很费力。我可能只检查最后一段,但如果有人回到文本的中间并更改了一些我需要跟踪的内容。

有没有更好的办法?

4

1 回答 1

0

你试过这个吗?

var regexes = {
    thing_X: /[>#@](.*?)(?:(?!(\s|$)).)*/,
    whitespace: /\s+/,
    other: /\S+/,
};
于 2013-10-04T11:41:04.217 回答