编辑 2:
const tamilRegex = XRegExp("\\p{Tamil}", "ug")
const match = XRegExp.exec(word, tamilRegex);
return match
现在,我发现XRegExp 一个可以处理unicode 字符的库。上面的代码是我尝试使用该库的代码,它仍然返回错误的值。
有什么帮助吗?!
编辑 1:
const word = "யாத்திராகமம்"
const firstLetter = word.match(/[^\w]/u)
console.log(firstLetter)
以上代码返回的 ய
不是该单词中正确的第一个泰米尔语字母,而应该是 யா
。
有什么方法可以使用正则表达式或任何其他库获取单词中正确的第一个字母?
最佳答案
我不知道泰米尔文字,但是 Wikipedia解释了该脚本中复合字母的概念。泰米尔人 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));
关于javascript - 如何使用 Javascript 获取泰米尔语 unicode 单词中的正确首字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60462686/