用于在Unicode字符串中搜索单词边界的Javascript正则表达式

Javascript regular expression for searching word boundaries in Unicode string

本文关键字:边界 Javascript 正则表达式 单词 搜索 Unicode 字符串 用于      更新时间:2023-09-26

是否有在日语字符串中查找单词边界的解决方案(例如:"私はマーケットに行きました。"(通过JavaScript正则表达式(可以使用"xregexp"JS库(?

例如:

var xr = RegExp("''bst","g");
xr.test("The string") // --> true

对于日语字符串,我需要同样的逻辑。

然而,将日语句子分隔成单词的实际问题比看起来更复杂,因为单词并不像英语中那样分隔成空格。

例如私はマーケットに行きました。("我去了市场"(有以下几个词:

  • 私 -watakushi
  • は -wa
  • マーケット -马克托
  • に -ni
  • 行きました -木下
  • .-(期间(

一个可靠的日语句子解析器必须找到句子中的助词(wa和ni(所在的位置,才能找到剩下的单词。

'b以及'w'W在JavaScript中不支持Unicode。你必须将你的单词边界定义为一个特定的字符集。如(^|$|['s.,:'u3002]+)或类似物。

CCD_ 5来自CCD_。它是日语中的标点符号吗?

或者,相反,定义一个Unicode范围的造词字母并否定它:

var boundaries = /(^|$|'s+|[^'u30A0–'u30FA]+)/g;

片假名范围示例取自http://www.unicode.org/charts/PDF/U30A0.pdf.