Ruby中阿拉伯字符的正则表达式?

时间:2015-01-12 06:05:40

标签: ruby-on-rails ruby regex arabic

任何人都能告诉我Ruby中阿拉伯字符的正则表达式吗?

2 个答案:

答案 0 :(得分:5)

您可以使用\p Character Properties

/\p{Arabic}/

示例:

"مرحبا بالعالم".scan(/\p{Arabic}+/)
# ["\u0645\u0631\u062D\u0628\u0627", "\u0628\u0627\u0644\u0639\u0627\u0644\u0645"]

答案 1 :(得分:1)

阿拉伯字符集列表:

[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]

来源:https://stackoverflow.com/a/11323651/3035830

示例:

arabic = "لأَبْجَدِيَّة العَرَبِيَّة - الحُرُوُفْ العَرَبِيَةُ"
#=> "لأَبْجَدِيَّة العَرَبِيَّة - الحُرُوُفْ العَرَبِيَةُ"
arabic.split(' ').each{|ab| ab.scan(/[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]/)}
#=> ["لأَبْجَدِيَّة", "العَرَبِيَّة", "-", "الحُرُوُفْ", "العَرَبِيَةُ"]

现在您可以相应地检查以确认文本是否为阿拉伯语。