函数/regexp测试给定语言[字母表]中的字符


Function/regexp test for characters in [alphabet] of given language

我正在寻找一个函数来测试给定字符串是否只包含(感谢@meagar)给定语言中的字符。示例字符串是UTF-8;额外的参数可以是任何东西(我想象它可以使用locale字符串)。对于任何非字母字符,它不应该返回true。

因此,这个函数的输出应该是:

test("jérôme", "FR_fr") = true
test("jérôme", "PL_pl") = false
test("jrme", "FR_fr") = true
test("jrme", "PL_pl") = true
test("***hi***", "PL_pl") = false

我正在寻找一个通用函数-作为:它应该适用于任何有效的区域设置,无论是:FR_fr, PL_pl, GD_ie或ZH_cn。

任何想法?

edit: valid point by @ decize -让我们将它从[language]更改为[alphabet]

您可以使用Unicode "Script"属性(假设您的regex引擎支持它)来限制对特定脚本的匹配。没有比这更具体的了