是否有解决方案可以通过JavaScript正则表达式(“xregexp”JS库cab使用)找到日语字符串中的单词边界(例如:“私はマーケットに行きました。”)?
E.g:
var xr = RegExp("\\bst","g");
xr.test("The string") // --> true
我需要日语字符串的相同逻辑。
答案 0 :(得分:6)
然而,将日语句子分成单词的实际问题比看起来更复杂,因为单词不会像英语那样分成空格。
例如,句子私はマーケットに行きました。(“我去市场”)有以下几个字:
除了其他方面,一个可靠的日语句子解析器必须找到粒子(wa和ni)在句子中的位置,以便找到剩余的单词。
答案 1 :(得分:4)
\b
以及\w
和\W
在JavaScript中不支持Unicode。您必须将单词边界定义为特定字符集。像(^|$|[\s.,:\u3002]+)
或类似。
\u3002
来自('。'.charCodeAt(0)).toString(16)
。它是日语中的标点符号吗?
或者,相反,定义Unicode范围的构造字母并否定它:
var boundaries = /(^|$|\s+|[^\u30A0–\u30FA]+)/g;