如何使用 Javascript 获取泰米尔语 unicode 单词中的正确首字母?

How to get correct first letter in a tamil unicode word using Javascript?

编辑 2:

const tamilRegex = XRegExp("\p{Tamil}", "ug")
const match = XRegExp.exec(word, tamilRegex);
return match

现在,我发现 XRegExp 一个可以处理 unicode 字符的库。上面的代码是我尝试使用该库的代码,它仍然 returns 错误值。

有什么帮助吗?!


编辑 1:

const word = "யாத்திராகமம்"
const firstLetter = word.match(/[^\w]/u)

console.log(firstLetter)

上面的代码 returns 不是那个单词中正确的第一个泰米尔字母,而应该是 யா.

有什么方法可以使用正则表达式或任何其他库来获取单词中正确的第一个字母吗?

我不知道泰米尔文字,但 Wikipedia explains the concept of compound letters in that script. The Tamil Unicode Block 有 U+0B80 到 U+0BFF 范围内的字符,其中子范围 U+0BBE-U+0BCD,还有一个在 U+ 0BD7 是后缀,需要与前面的辅音组合,使其成为复合字母。

在没有任何专门的库或更智能的正则表达式支持的情况下,您似乎可以使它与正则表达式 [\u0b80-\u0bff][\u0bbe-\u0bcd\u0bd7]? 一起工作,它匹配泰米尔语范围内的一个字符,此外还可能匹配这些后缀代码之一。

let s = "this is Tamil: யாத்திராகமம்";

console.log("First Tamil character: ", s.match(/[\u0b80-\u0bff][\u0bbe-\u0bcd\u0bd7]?/u));