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

标签 javascript regex unicode tamil xregexp

编辑 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/

相关文章:

javascript - 在jqgrid中选择所有复选框的功能

javascript - 通过 WebSocket 发送音频

javascript - 不同内容的 3D 滚动链接

JavaScript 正则表达式提取字符串的不同部分

c# - 将文本转换为 unicode 字符串

ruby - 如何摆脱 ruby 中的非ascii字符

javascript - 使正文背景图像充当链接

javascript - 如何在 javascript 或 jquery 中创建列表

mysql - 如何在 mysql LOAD DATA INFILE 查询中使用 unicode 字符作为字段分隔符

regex - 引用-此正则表达式是什么意思?