<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Skynet

    ---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks
       由于 需求原因,需要匹配 提取中文,大量google下,并沒有我需要的?;艘粋€(gè)小時(shí)大概測(cè)試,此utf8中文通過,特留文。
       參考: http://hi.baidu.com/nivrrex/blog/item/e6ccaf511d0926888d543071.html
              http://topic.csdn.net/u/20070404/15/b011aa83-f9b7-43b3-bbff-bfe4f653df03.html

        首先,確保所有編碼都為 unicode
             比如 str.decode('utf8') #從utf8文本中
                  u"啊l"  #在控制臺(tái)輸出中   
             (羅嗦下)本想使用參考一定編碼 Hex 但郁悶的是 這每個(gè)字好像占2個(gè)位置,使用正則匹配無果。
        其次,確定中文范圍 : [\u4e00-\u9fa5]
              (這里注意下 python 的re寫的時(shí)候) 要  u"[\u4e00-\u9fa5]" #確定正則表達(dá)式也是 unicode 的
        demo :
       
    >>> print re.match(ur"[\u4e00-\u9fa5]+","")
    None
    >>> print re.match(ur"[\u4e00-\u9fa5]+",u"")
    <_sre.SRE_Match object at 0x2a98981308>


    >>> print re.match(ur"[\u4e00-\u9fa5]+",u"t")
    None


    >>> print tt
    現(xiàn)在才明白
    >>> tt
    '\xe7\x8e\xb0\xe5\x9c\xa8\xe6\x89\x8d\xe6\x98\x8e\xe7\x99\xbd'
    >>> print re.match(r"[\u4e00-\u9fa5]",tt.decode('utf8'))
    None
    >>> print re.match(ur"[\u4e00-\u9fa5]",tt.decode('utf8'))
    <_sre.SRE_Match object at 0x2a955d9c60>


    >>> print re.match(ur".*["u4e00-"u9fa5]+",u"hi,匹配到了")
    <_sre.SRE_Match object at 0x2a955d9c60>
    >>> print re.match(ur".*["u4e00-"u9fa5]+",u"hi,no no")
    None
          



    其他 擴(kuò)充 范圍 (轉(zhuǎn))
    這里是幾個(gè)主要非英文語系字符范圍(google上找到的):
    2E80~33FFh:中日韓符號(hào)區(qū)。收容康熙字典部首、中日韓輔助部首、注音符號(hào)、日本假名、韓文音符,中日韓的符號(hào)、標(biāo)點(diǎn)、帶圈或帶括符文數(shù)字、月份,以及日本的假名組合、單位、年號(hào)、月份、日期、時(shí)間等。
    3400~4DFFh:中日韓認(rèn)同表意文字?jǐn)U充A區(qū),總計(jì)收容6,582個(gè)中日韓漢字。
    4E00~9FFFh:中日韓認(rèn)同表意文字區(qū),總計(jì)收容20,902個(gè)中日韓漢字。
    A000~A4FFh:彝族文字區(qū),收容中國南方彝族文字和字根。
    AC00~D7FFh:韓文拼音組合字區(qū),收容以韓文音符拼成的文字。
    F900~FAFFh:中日韓兼容表意文字區(qū),總計(jì)收容302個(gè)中日韓漢字。
    FB00~FFFDh:文字表現(xiàn)形式區(qū),收容組合拉丁文字、希伯來文、阿拉伯文、中日韓直式標(biāo)點(diǎn)、小符號(hào)、半角符號(hào)、全角符號(hào)等。
    比如需要匹配所有中日韓非符號(hào)字符
    ,那么正則表達(dá)式應(yīng)該是^[\u3400-\u9FFF]+$
    理論上沒錯(cuò)
    , 可是我到msn.co.ko隨便復(fù)制了個(gè)韓文下來, 發(fā)現(xiàn)根本不對(duì), 詭異
    再到msn.co.jp復(fù)制了個(gè)’お’
    , 也不得行..
    然后把范圍擴(kuò)大到^
    [\u2E80-\u9FFF]+$, 這樣倒是都通過了, 這個(gè)應(yīng)該就是匹配中日韓文字的正則表達(dá)式了, 包括我們臺(tái)灣省還在盲目使用的繁體中文
    而關(guān)于中文的正則表達(dá)式
    , 應(yīng)該是^[\u4E00-\u9FFF]+$, 和論壇里常被人提起的^[\u4E00-\u9FA5]+$很接近
    需要注意的是論壇里說的^
    [\u4E00-\u9FA5]+$這是專門用于匹配簡體中文的正則表達(dá)式, 實(shí)際上繁體字也在里面, 我用測(cè)試器測(cè)試了下’中華人民共和國’, 也通過了, 當(dāng)然, ^[\u4E00-\u9FFF]+$也是一樣的結(jié)果。

       
      


    整理 m.tkk7.com/Good-Game
    posted on 2009-05-02 18:27 劉凱毅 閱讀(30673) 評(píng)論(3)  編輯  收藏 所屬分類: python

    Feedback

    # re: python 正則匹配中文 2012-12-13 15:43 為全額
    阿斯頓  回復(fù)  更多評(píng)論
      

    # re: python 正則匹配中文 2014-07-20 22:12 佟鐵
    很好,謝謝,一定前面加ur'',  回復(fù)  更多評(píng)論
      

    # re: python 正則匹配中文 2015-09-18 20:31 謝謝
    我還以為 u 和 r 參數(shù)可以隨便放呢,實(shí)際上 ur‘字符串’ 可以 而 ru‘字符串’ 不行  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 在线免费观看色片| 99精品视频免费在线观看| 在线免费视频一区二区| 亚洲a视频在线观看| 精品国产无限资源免费观看| 亚洲视频免费观看| 国产免费一区二区三区| 亚洲AV无码国产精品色| 免费无码精品黄AV电影| 亚洲AV无码AV吞精久久| 亚洲高清国产拍精品青青草原| 污污的视频在线免费观看| 国产午夜亚洲不卡| 一级毛片不卡片免费观看| 亚洲精品第一国产综合精品| 成人无遮挡裸免费视频在线观看 | 亚洲国产中文字幕在线观看| 牛牛在线精品免费视频观看| 亚洲综合国产一区二区三区| 久久免费精品视频| 亚洲一区电影在线观看| 免费jjzz在在线播放国产| a毛片在线还看免费网站| 亚洲最大免费视频网| 在线观看91精品国产不卡免费| 七次郎成人免费线路视频| 亚洲av女电影网| 妞干网免费视频在线观看| 四虎影视在线看免费观看| 久久久久亚洲av无码专区导航| 成年人免费观看视频网站| 美女无遮挡拍拍拍免费视频| 亚洲精品一区二区三区四区乱码| 国产网站免费观看| 无码精品国产一区二区三区免费| 亚洲xxxx18| 亚洲精品亚洲人成人网| 午夜男人一级毛片免费| 久久精品免费视频观看| 亚洲av成人无码网站…| 亚洲黄色免费在线观看|