使用 RegEx 将孟加拉数字(数字)标记为数字标记时出错

Error while tokenizing Bangla Number(Digits) as Number token using RegEx

我是 Jison 的新手,我想将孟加拉数字 ০-৯ 标记为数字。我已经尝试了下面的正则表达式,但无法使用它: 正则表达式:(^[\u09E6-\u09EF])+("."[\u09E6-\u09EF])\b

正在测试 ৭+১ 它显示预期... 'NUMBER' GOT 'Invalid' 预期结果:NUMBER '+' NUMBER

请帮帮我!! ❤️

问得好。

问题是 \b 字边界断言。出于某种原因,javascript 的正则表达式引擎规范不将孟加拉数字视为单词字符。 For \w and \b, only ascii letters and digits count as word characters.

因此,孟加拉数字后跟加号(当然不是单词字符)不被视为单词边界,因此与断言不匹配。

如果你只删除 \b,它应该可以工作(尽管我也会删除 ^:Jison 模式总是锚定的,所以没有必要坚持)。