ace 编辑器查找代码片段

ace editor find code snippet

我已经设置了 ace 来渲染 html 代码让我们举例来说,他渲染了以下代码

    1 <html>
    2 <body>
    3 <table>
    4 <tr>
    5 <td>
    6 test
    7 </td>

我想获取给定代码片段的行号,例如,如果我搜索

"<html><body><table><tr><td>" 

我想移动光标并突出显示第 6 行。 不幸的是,内置查找功能的 ace 似乎只能找到位于同一行的代码,所以

ace.find('<html>', options) 

工作并突出显示第 1 行,但

ace.find('<html><body>', options) 

根本找不到任何东西。

你能解释一下原因或给我一个解决方法吗? 提前致谢 ;)

如果 <html><body> 在不同的行上,您需要搜索 ace.find('<html>\n<body>', options)(使用 \n

另一种方法是使用正则表达式在 editor.getValue() 字符串中找到您想要的偏移量,然后使用

pos = session.doc.indexToPosition(100)
session.selection.moveToPosition(pos)

将光标移动到它