Ace编辑器如何向后查找?

米凯尔·梅耶(MikaëlMayer)

我正在用javascript中的Ace编辑器苦苦挣扎。我的前进功能运行良好:

var selectionRange = editor.getSelectionRange();
var res = editor.find(/\?\w+\b/, { backwards: false, start: selectionRange, wrap: true, caseSensitive: false, wholeWord: false, regExp: true});

当我在多行上有多个标记时,它会在我进行多次搜索时按顺序找到它们。

?a ?b ?c  // First  ?a, then ?b, then ?c, then ?d
?d

但是对于向后查找,只需将向后更改为true,就只能找到每行的第一个元素。

var selectionRange = editor.getSelectionRange();
var res = editor.find(/\?\w+\b/, { backwards: true, start: selectionRange, wrap: true, caseSensitive: false, wholeWord: false, regExp: true});
?a?b?c //首先?d,然后?a !! ?c和?b被跳过
?d

向后查找以便检索所有实例的正确方法是什么?

一个用户

您的正则表达式未命中g标志。使用editor.find("\\?\\w+\\b", ...)并让ace创建正则表达式或使用editor.find(/\?\w+\b/g, ...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章