任何人都能告诉我Ruby中阿拉伯字符的正则表达式吗?
答案 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]/)}
#=> ["لأَبْجَدِيَّة", "العَرَبِيَّة", "-", "الحُرُوُفْ", "العَرَبِيَةُ"]
现在您可以相应地检查以确认文本是否为阿拉伯语。