2012-03-01 47 views
4

我試圖在印地語字符集中收集所有'o'形狀的Unicode列表。事實上,任何使用單獨的字符表示重音的字符(使用任何語言)的列表都會更好。什麼是印地文重音字符的unicode範圍?

我打算在RegExp中使用這個unicode列表。

我一直試圖通過在輸入文本字段中輸出來編輯字符範圍列表,但編輯此文本會導致出現奇怪的問題(鍵盤光標未放置在正確的字符上,選擇突然消失/不正確翹曲......換句話說...... HINDI HELL!)

我已經用記事本++試過了,但它雖然響應性更好,但它最終還是像我在Flash Player文本框中一樣拖出來了。這似乎特別發生在刪除[]塊(空值?)字符時。其中一些觸發奇怪的行爲。

無論如何,我想要的是一個口音清單。 的幾個例子是在下面的圖片(但我需要的所有口音):

enter image description here

謝謝!

+1

與適當的Unicode正則表達式語言,這將是'[\ p {IsDevanagari} && \ p {M}]'......不幸的是我認爲只有Java(也許Perl)支持這一點。 – porges 2012-03-01 21:17:21

+0

@Porges PCRE用於php。所以如果Perl是正確的,那麼PHP也是。 另請參見:http://www.regular-expressions.info/ – kirilloid 2012-03-01 21:20:57

+0

@kirilloid:PCRE不支持字符類交集,它不支持Perl做的任何事情。 (無論如何,你可以用前瞻來模擬交叉點。)但是...這並不重要,因爲他使用AS。 :) – porges 2012-03-01 21:45:07

回答

3

這裏是梵文組合標記字符類:

[\u901\u902\u903\u93c\u93e\u93f\u940\u941\u942\u943 
\u944\u945\u946\u947\u948\u949\u94a\u94b\u94c\u94d 
\u951\u952\u953\u954\u962\u963] 

這僅是基本梵文塊(未梵文擴展)。

+4

稍微更緊湊一點:''\ u901- \ u93c \ u93e \ u949 \ u94a- \ u94d \ u951- \ u954 \ u962 \ u963]' – beerbajay 2012-03-01 22:41:23

0

如果您想要完整的設置(適用於所有語言),您可以做到這一點有問題。 您從ftp://ftp.unicode.org/Public/6.1.0/ucd/UnicodeData.txt unicode日期的文件,通過TR-44(http://unicode.org/reports/tr44/#Property_Definitions)描述

可以使用Canonical_Combining_Class場(見http://unicode.org/reports/tr44/#Canonical_Combining_Class_Values)來過濾你想要的確切字符開頭。 不能更精確,因爲「口音」有點含糊:-) 您甚至可能還需要查看General_Category以獲得正確的過濾器(並排除某些標記,符號或標點符號)。

而一個這樣做的腳本肯定會比試圖混淆文本編輯器更好。 一個組合字符的特點是,他們結合:-) 所以,你可能會得到所有類型的令人費解的結果(是這樣的:http://www.siao2.com/2006/02/17/533929.aspx :-)