如何使用Javascript获得泰米尔unicode单词中正确的第一个字母?

如何使用Javascript获得泰米尔unicode单词中正确的第一个字母?,javascript,regex,unicode,tamil,xregexp,Javascript,Regex,Unicode,Tamil,Xregexp,编辑2: const tamilRegex = XRegExp("\\p{Tamil}", "ug") const match = XRegExp.exec(word, tamilRegex); return match const word = "யாத்திராகமம்" const firstLetter = word.match(/[^\w]/u) console.log(firstLetter) 现在,我发现了一个可以处理unicode字符的库。上面的代码是我尝试使用该库的代码,

编辑2:

const tamilRegex = XRegExp("\\p{Tamil}", "ug")
const match = XRegExp.exec(word, tamilRegex);
return match
const word = "யாத்திராகமம்"
const firstLetter = word.match(/[^\w]/u)

console.log(firstLetter)
现在,我发现了一个可以处理unicode字符的库。上面的代码是我尝试使用该库的代码,但它返回了错误的值

有人帮忙吗


编辑1:

const tamilRegex = XRegExp("\\p{Tamil}", "ug")
const match = XRegExp.exec(word, tamilRegex);
return match
const word = "யாத்திராகமம்"
const firstLetter = word.match(/[^\w]/u)

console.log(firstLetter)
上述代码返回
不是该单词中正确的第一个泰米尔字母,而是
யா


有没有办法用正则表达式或任何其他库获取单词中正确的第一个字母?

我不知道泰米尔语脚本,但解释了该脚本中复合字母的概念。泰米尔语的字符范围为U+0B80到U+0BFF,其中U+0BBE-U+0BCD子范围和U+0BD7子范围是后缀,需要与前面的辅音组合,使其成为复合字母

如果没有任何专门的库或更智能的正则表达式支持,您似乎可以使用正则表达式
[\u0b80-\u0bff][\u0bbe-\u0bcd\u0bd7]?
,它与泰米尔语范围内的字符相匹配,并且可能还有一个后缀代码

let s=“这是泰米尔语:யாத்திராகமம்";

console.log(“第一个泰米尔语字符:”,s.match(/[\u0b80-\u0bff][\u0bbe-\u0bcd\u0bd7]?/u));
查找泰米尔语unicode中的字母列表,然后使用循环与它们进行比较。
word.match(/^p{L}/u)
,检查此库:@James_22是的,你是对的。但那将是重新发明轮子。我希望已经有了解决方案。如果没有,将与你的解决方案一起使用。谢谢你的回答。@Alex我已经更新了我的问题。请你再检查一遍。我尝试了XRegExp库,但我不知道如何正确地为它编写正则表达式是的。你能帮忙吗?实际上问题是第一个字母是ய, 不யா. யா 是由辅音组成的音节ய் 和元音ஆ : 这对我有用!非常感谢你的回答。