正則匹配中文
背景:專案要做國際化需求,要有中英文切換功能,所以我需要找到程式碼中所有包含的中文。
原理:很簡單,中文在unicode 和 utf-8裡都有一定的編碼範圍,所以我們只需要找出編碼最小和最大的中文即可。
幸運的是中文在unicode 和 utf-8裡編碼的順序是相同的(注:gbk編碼是以拼音順序編碼的,所以如果檔案時gbk編碼需要先對編碼進行轉換)。
最小編碼:一(\u4e00)
最大編碼:龥(\u9fa5)
命令:egrep -nR '[一-龥]+' * --color
附上python程式碼:
import re str=''' 漢字文字 1234567890 abcdefghijklmnopqrstuvwxyz[email protected]#$%^&*()[]{};:"'<>,.?/|~ ` ''' ret1 = re.findall(u'[\u4e00-\u9fa5]+',str.decode('utf-8')) print ret1[0] ret2 = re.findall(r'[一-龥]+',str) print ret2[0]
相關推薦
php 正則匹配中文
保存 not .so UNC 進制數 進制 修正 下劃線 inpu 轉載:http://hi.baidu.com/?_d/blog/item/063b77d5432f8f1aa18bb7fd.html 在javascript中,要判斷字符串是中文是很簡單的。比如:var
PHP正則匹配中文漢字註意
附加 php正則 span family 1.0 匹配模式 ron arr amp preg_match(‘/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u‘, $str) 如上,是匹配字母或者漢字的,一定要在後面加模式修飾符 u , 不然就出錯! u
Oracle資料隱式亂碼,正則匹配中文資料失敗
起因:相同資料,供述廠家不同,使用正則匹配時,不同廠家的資料匹配不到。 描述:導致此問題的發生原因為“資料編碼不一致”,如果僅憑肉眼壕無差異。此時需用Convert函式檢視資料編碼,會發現不同廠家的相同資料轉換出來的編碼是不一致的。 附轉碼函式使用方式: 在oracle中,convert函式是用來轉字符
正則匹配中文
背景:專案要做國際化需求,要有中英文切換功能,所以我需要找到程式碼中所有包含的中文。 原理:很簡單,中文在unicode 和 utf-8裡都有一定的編碼範圍,所以我們只需要找出編碼最小和最大的中文即可。 幸運的是中文在unicode 和 utf-8裡編碼的順序是相同的(注:gbk編碼是以拼音順序編碼的,所
正則匹配中文英文字元、資料及標點
/^([\p{Han}\p{P}A-Za-z0-9])*$/u 其中 \p{Han}表示utf-8編碼中的所有中文字元, \p{P}表示中英文標點, A-Z表示大寫字母, a-z表示小寫英文字母, 0-9表示數字, *表示>=0, /u 表示按unicode(utf-8)匹配(主要針對
UTF-8編碼時,PHP如何正則匹配中文漢字?親測可用
這個方法親測可用,程式碼如下: <?php header('content-type:text/html;charset=utf-8'); $input = "^_^,
python 正則匹配中文字元
正則匹配中文,固定形式:\u4E00-\u9FA5 # -*- coding:utf-8 -*- import re ''' python 3.5版本 ''' words = 'study
【原創】mysql 正則匹配中文&…
含中文: where name regexp '[^ -~]' 不含中文: where name not regexp '^[^ -~]' 後來說需要查詢日文 參考資料得知: utf-8 (unicode) /u4e00-/u9fa5 (中文) /x3130-/x318f (韓文) /xac00
正則 匹配 中文標點符號 小記
//匹配這些中文標點符號 。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥ var reg = /[\u3002|\uff1
PHP正則匹配中文字串
正則匹配中文漢字根據頁面編碼不同而略有區別 1.GBK/GB2312編碼:[x80-xff]+ 或 [xa1-xff]+ 2.UTF-8編碼:[x{4e00}-x{9fa5}]+/u $str = "使用者名稱123"; //把結果放在$chinese
js正則匹配中文標點符號
//匹配這些中文標點符號 。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥ var reg = /[\u3002|\uff
PHP中文正則匹配
在javascript中,要判斷字串是中文是很簡單的。比如: var str = "php程式設計"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("該字串全部是中文"); } else { alert("該字串不全部是中文"); } 想當然的,在php中
Python讀寫檔案 中文正則匹配
讀寫檔案 中文正則匹配 好麻煩 程式碼很短 錯誤調了很多 #!/usr/bin/env python #encoding: utf-8 import re f=open('10000.txt','r', encoding='UTF-8') f1=open('result.txt','w') for li
python正則表示式中文匹配
一般中文部分的unicode 值是4e00 - 9f5a, 但是要注意, 這是基本漢字編碼範圍, 還有一些擴充套件集, 後面介紹 下面例子標識我們要查詢一段字串中的漢字:import re s =
安卓常用正則匹配工具(字串,年月日,中文,英文,特殊字元,身份證號匹配校驗)
餓漢式懶載入正則匹配工具 package com.util.test; import java.util.Hashtable; import java.util.regex.Matcher; import java.util.regex.Patte
python中正則匹配字符配置單詞邊界不生效的解決辦法
re python duoceshi #-*-coding:utf-8-*-import rename="duoceshi"p= re.compile(‘\bduoceshi\b‘)f = p.search(name)if f: print f.group()################
正則匹配 替換..追加..
bbs csdn 正則 flow code pan net eval nbsp 這裏都是以 圖片中的元素為例: 匹配出IMG標簽中alt的值: 1 Regex reg = new Regex(@"(?is)(?<=<img[^>]*)[^""]*(?
day11 grep正則匹配
collect lec linux 取反 pat 至少 判斷 con set ps aus | trep nginx # 查看所有正在運行的nginx任務 別名路徑: alias test_cmd=‘ls -l‘ PATH路徑: 臨時修改:
常用的正則匹配
marked clas 字符串 輸入 har round back [0 num 1.判斷只能輸入數字和字母 var num_char = /^[0-9A-Za-z]+$/; ^ :代表匹配字符串開始位置; [0-9A-Za-z]+ :[0-9A-Za-z]匹配數
js 對表單的一些驗證及正則匹配
攻擊 update 匹配規則 asc htm out gin lease public 利用的是jq的validate.js 詳見菜鳥教程http://www.runoob.com/jquery/jquery-plugin-validate.html 以下是我測試的幾個文件