正则表达式可识别希伯来语unicode字符或仅识别希伯来语字符

时间:2020-03-10 17:03:11

标签: c++ regex unicode hebrew

我正在尝试找出一个正则表达式,以便与C ++的Flex regex引擎 一起使用,以便可以从我的编程语言中解析一个关键字,其中的关键字是希伯来语。正则表达式需要识别的构造/模式之一是:

קו

我尝试过的正则表达式:
"קו" (קו) [\u05E7\u05D5] [\u05D5]{1}[\u05E7]{1} [^\b\u05D5][\u05E7\b]

第一个起作用了,但是后来我的其他正则表达式模式也意识到了这一点,我不希望这样:

`[קראטוןםפשדגכעיחלךףזסבהנמצתץ]+`

此外,尝试对下面的上述模式使用unicode-无效
[\u05D0-\u05EA]+

理想情况下,我希望我的正则表达式模式能够匹配以下字符串组合或下面的字符串组合
קו אחד = שלום
קו אחד

对于上述情况,我尝试了这些正则表达式模式,但没有一个起作用: (קו)(\s)[קראטוןםפשדגכעיחלךףזסבהנמצתץ]+ (וק)\s+[קראטוןםפשדגכעיחלךףזסבהנמצתץ]+ [קראטוןםפשדגכעיחלךףזסבהנמצתץ]+\s+(וק)

理想情况下,我想在所有正则表达式中都使用unicode字符。

此外,这是我一直用于Unicode字符的表格:this link

此外,我查看了这些问题,并尝试了已发布的解决方案,但没有任何效果。我只想对不带点的希伯来字母使用unicode系统,这只是unicode字符u05D0-u05EA,这些问题涵盖了点系统的unicode字符。无论如何,我似乎无法将点缀的Unicode字符替换为非点缀的Unicode字符来工作:
tried all solutions here
read through this, tried solution, no success
and this is for PHP, so not very helpful as I'm using C++

1 个答案:

答案 0 :(得分:2)

您需要使用两个字符范围,

  • U+0590-05FF/*פ,ש*/)和
  • U+FB1D-FB4F/*Pres: ﬡ,טּ*/)。

因此,您可以尝试使用正则表达式:

[\u0590-\u05FF\uFB1D-\uFB4F]+