2017-01-23 18 views
1

如何創建包含unicode字符的ruby正則表達式?在正則表達式中指定Unicode字符

例如,我想在我的正則表達式中使用字符「\ u0002」。

+1

非常簡單:'/ \ u0002 /'。插值工作在''''正則表達式分隔符中。 – mudasobwa

+0

哦,夥計!我認爲你會是一個真正的你。回答這個問題,我可以接受! –

回答

1

你可以寫/\x02/

"\u0002" =~ /\x02/ 
#=> 0 

如果你不知道,你可以從一個字符串開始:

Regexp.new("\u0002") 
#=> /\x02/ 

再舉一例:

"☀☁☂" =~ /\u2602/ 
#=> 2 

由於@TomLord在評論中提到,你也可以指定一個範圍。要檢查一個字符串是否包含UTF-8 arrow

"↹" =~ /[\u2190-\u21FF]/ 
#=> 0 
+1

也可以省略前導零:'/ \ u {2} /' –

+1

如果需要,你可以在正則表達式中指定你想要的unicode範圍:'/ [\ u003me} \ u {D7FF}] /' –

+1

同樣,'\ u {....}'可以一次指定超過U + FFFF(例如'\ u {1F600}')或多個代碼點的代碼點,例如\ u {2600 2601 2602}' – Stefan