立陶宛字母在 xkcd 的简单编写器(Ace 编辑器)中将文本拆分为单词
Lithuanian letters split text into words in xkcd's simple writer (Ace Editor)
我偶然发现了一个工具,它可以检查文本中使用的单词是否来自前 1000 个最常用的单词(英语,或者可能基于某种数据库)- http://xkcd.com/simplewriter/
我对它是如何构建的非常感兴趣,我想知道为什么 ąčęėįšųūž 等立陶宛字符被视为单词边界?
据我所知,字符集设置为 UTF-8,因此不应滥用这些字母。
我正在考虑为立陶宛语构建一个类似的工具,并且了解单词拆分的标准或 Ace 编辑器代码的哪一部分负责将非常有用。
Ace 编辑代码:https://github.com/ajaxorg/ace-builds/blob/master/src/ace.js
ąčęėįšųūž 在 ace 中不被视为单词边界,您可以通过双击其中之一的单词来检查
但自定义模式 http://xkcd.com/simplewriter/ uses http://xkcd.com/simplewriter/ace/src-min/mode-upwriter.js
不将它们视为单词字符并使用 /[a-zA-Z]+/
作为正则表达式
this.$rules = {
"start": [
{
"token" : "suffix",
"regex" : "['’][a-zA-Z]+"
},
{
"token" : "allowed",
"regex" : "\b(?:" + window.__WORDS + ")\b",
"caseInsensitive": true
},
{
"token" : "disallowed",
"regex" : "[a-zA-Z]+"
}
]
我偶然发现了一个工具,它可以检查文本中使用的单词是否来自前 1000 个最常用的单词(英语,或者可能基于某种数据库)- http://xkcd.com/simplewriter/
我对它是如何构建的非常感兴趣,我想知道为什么 ąčęėįšųūž 等立陶宛字符被视为单词边界?
据我所知,字符集设置为 UTF-8,因此不应滥用这些字母。
我正在考虑为立陶宛语构建一个类似的工具,并且了解单词拆分的标准或 Ace 编辑器代码的哪一部分负责将非常有用。
Ace 编辑代码:https://github.com/ajaxorg/ace-builds/blob/master/src/ace.js
ąčęėįšųūž 在 ace 中不被视为单词边界,您可以通过双击其中之一的单词来检查
但自定义模式 http://xkcd.com/simplewriter/ uses http://xkcd.com/simplewriter/ace/src-min/mode-upwriter.js
不将它们视为单词字符并使用 /[a-zA-Z]+/
作为正则表达式
this.$rules = {
"start": [
{
"token" : "suffix",
"regex" : "['’][a-zA-Z]+"
},
{
"token" : "allowed",
"regex" : "\b(?:" + window.__WORDS + ")\b",
"caseInsensitive": true
},
{
"token" : "disallowed",
"regex" : "[a-zA-Z]+"
}
]