gpt4 book ai didi

javascript - Rangey如何在没有符号的情况下扩展?

转载 作者:行者123 更新时间:2023-12-03 10:29:57 25 4
gpt4 key购买 nike

我正在尝试取消选择选择之前或之后出现的标点符号,并使用单词扩展功能。例如我有这个注释:

(56.87%), α-cadinol (Bold text is highlighted text "," is included)

我尝试得到以下内容:

(56.87%), α-cadinol (Bold text is highlighted text)

我尝试过以下方法:

        var sel = rangy.getSelection();
var range = sel.getRangeAt(0);

var selectedText = range.text();
// Trim start
var match = /^\s*\.*\,*\"*\'*\;*\“*\-*\s*/.exec(selectedText);
if (match) {
range.moveStart("character", match[0].length);
}

// Trim end
match = /\s*\.*\,*\"*\'*\;*\”*\-*\s*$/.exec(selectedText);
if (match) {
range.moveEnd("character", -match[0].length);
}
sel.setSingleRange(range);

sel.expand("word", {
trim: true
});

但无法正常工作。第一部分单独工作,但第二部分不起作用,因为它会导致以下结果:

(56.87 %), α-cadinol (Bold text is highlighted text)

最佳答案

一切看起来都不错。问题在于 Rangy 用于确定单词构成的默认正则表达式非常简单。幸运的是,您可以在传递的扩展选项中覆盖它。这里的例子也只是作为解决当前问题的起点;对于一般用途来说,它显然过于简单,但应该作为一个起点。

sel.expand("word", {
trim: true,
wordOptions: {
wordRegex: /[a-z0-9α]+(['\-][a-z0-9α]+)*/gi
}
});

关于javascript - Rangey如何在没有符号的情况下扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29260835/

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