中文正則表示式匹配-正則中文匹配
這篇文章主要講如何使用正則匹配中文字元,中文正則表示式的匹配規則不像其他正則規則一樣容易記住,下面一起看看這個中文正則表示式是怎麼樣的。
\w匹配的僅僅是中文,數字,字母,對於國人來講,僅匹配中文時常會用到,見下
匹配中文字元的正則表示式: [\u4e00-\u9fa5]
或許你也需要匹配雙位元組字元,中文也是雙位元組的字元
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
注:可以用來計算字串的長度(一個雙位元組字元長度計2,ASCII字元計1)
更多常用正則表示式匹配規則:
英文字母:[a-zA-Z] 數字:[0-9]
匹配中文,英文字母和數字及_:
//code from http://caibaojian.com/zhongwen-regexp.html ^[\u4e00-\u9fa5_a-zA-Z0-9]+$
同時判斷輸入長度:·
[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} ^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$
1、一個正則表示式,只含有漢字、數字、字母、下劃線不能以下劃線開頭和結尾:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$
其中:
^ 與字串開始的地方匹配
(?!_) 不能以_開頭 (?!.*?_$) 不能以_結尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一個漢字、數字、字母、下劃線
$ 與字串結束的地方匹配
放在程式裡前面加@,否則需要\\進行轉義 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$" (或者:@"^(?!_)\w*(?<!_)$" 或者 @" ^[\u4E00-\u9FA50-9a-zA-Z_]+$ " )
2、只含有漢字、數字、字母、下劃線,下劃線位置不限:
^[a-zA-Z0-9_\u4e00-\u9fa5]+$
3、由數字、26個英文字母或者下劃線組成的字串
^\w+$
4、2~4個漢字
@"^[\u4E00-\u9FA5]{2,4}$";
5、
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
用:(Abc)+ 來分析: XYZAbcAbcAbcXYZAbcAb
來源:前端開發部落格
相關推薦
angular6 正則表示式允許輸入部分中文字元
之前接到新需求,要求允許輸入漢字的輸入框允許輸入中文括號,寫正則表示式 let filter2=/^[\( \)\u4e00-\u9fa5]+$/; 測試正常,執行ng build --prod命令打包之後執行出錯。 發現,正則表示式變為/^[\\uff08\\uff09\u4e00-\
正則表示式限制只能輸入中文英文數字
無論移動端還是後臺都會遇到輸入框限制輸入特殊字元或者表情符;下面程式碼通過正則控制只能輸入中文、英文、數字 package pattern; import java.util.regex.Matcher; import java.util.regex.Pattern; publi
grok正則表示式一行多個結果匹配
原理介紹 grok內建了一些常用正則的表示式,其在grok-pattern檔案中; 你可以自己定義一些喜歡的正則表示式,用於匹配自己需求的內容: 例如:中國式的時間匹配2018/9/11 9:46:32 TIMESTAMP_CHS %{YEAR}/%{MO
Python3 正則表示式中group()方法獲得匹配結果
正則表示式中用match()方法可以獲得匹配的字串內容。 如果想從字串中提取出一部分內容,可以用括號將提取目標括起來。 括號()實際上標記了一個子表示式的開始和結束的位置,被標記的每個子表示式會依次對應每個分組,呼叫group()方法傳入分組的索引即可獲得提取的結果。
正則表示式(re模組,匹配單個字元,匹配多個字元,匹配分組,python貪婪和非貪婪,r的作用)
re.match() 能夠匹配出以xxx開頭的字串 匹配單個字元 示例1: . #coding=utf-8 import re ret = re.match(".","M") print(ret.group()) ret = re.match("t.o","too") print
java正則表示式 最大最小匹配
String s = "/m/t/wd/nl/n/p/m/wd/nl/n/p/m/wd/nl/n/p/m/v/n"; Pattern p = Pattern.compile("/m
正則表示式中的的向前匹配、向後匹配、負向前匹配、負向後匹配寫法
比如我們要匹配下面這個語句中的“<”後面不是“br>”的“<”: <div>line1</div> <br> 這個正則表示式這麼寫: /<(?!br>)/ 如果我們只匹配後面為“br>”的“<”
qt中的正則表示式QRegExp使用大全以及匹配中括號[]方法大全
Qt的SDK裡包含一個很幫的GUI工具,可以方便我們進行這類轉換並測試你的表示式。可以按照如下的方式開啟:“開始”->“程式”->“Qt SDK by Nokia v2010.02.1 (open source)”->“QtDemo”->“To
iOS 正則表示式判斷純數字以及匹配11位手機號碼
1用正則表示式 //是否是純數字 + (BOOL)isNumText:(NSString *)str{ NSString * regex = @"(/^[0-9]*$/)"; NSPredicate * pred = [NSPred
正則表示式常見函式(爬蟲網頁匹配)
一、區域性匹配(只匹配一個結果)1.re.match()函式 :從源字元的串的開頭進行匹配2.re.search()函式 :在全文中進行檢索並匹配從例子中看區別:import re #string ="apythonhellomypythonisouorpythonend"
正則表示式裡字串”不包含”匹配技巧
經常我們會遇到想找出不包含某個字串的文字,程式設計師最容易想到的是在正則表示式裡使用,^(hede)來過濾”hede”字串,但這種寫法是錯誤的。我們可以這樣寫:[^hede],但這樣的正則表示式完全是另外一個意思,它的意思是字串裡不能包含‘h’,‘e’,‘d’三個但字元。
非貪婪匹配:如何使用正則表示式碰到到第一個匹配到的字串就停止
? 當該字元緊跟在任何一個其他限制符(*,+,?,{n},{n,},{n,m})後面時,匹配模式是非貪婪的。非貪婪模式儘可能少的匹配所搜尋的字串,而預設的貪婪模式則儘可能多的匹配所搜尋的字串。例如,對於字串“oooo”,“o+”將盡可能多的匹配“o”,得到結果[
正則表示式知識詳解之匹配開頭或結尾 (java版示例)
示例功能: 1、匹配字串的開頭 2、匹配字串的結尾 package com.songguoliang.regex; import java.util.regex.Matcher; imp
Python正則表示式處理中文中的匹配
由於中文使用2個位元組來表示一個字,在正則表示式中如果不進行轉換的話,編譯器是不能識別的,所以這裡簡要談一下正則表示式中遇到中文的問題。 關於python的re模組的基本用法,與各種正則表示式的基本形式,在之前的一篇文章中,進行過介紹,故此處不再贅述。 下面是一段對中文
正則表示式 平衡組/遞迴匹配
平衡組用於匹配巢狀層次結構,常用於匹配HTML標籤(當HTML內容不規範,起始標籤和結束標籤數量不同時,匹配出正確配對的標籤),在此把表示式統一以\w為例。 (?'group'\w) 捕獲的分組(\w匹配到的內容)命名為group,並壓入堆疊(?'-group'\w) 捕獲
利用正則表示式從檔案路徑中匹配檔名
第一種,檔名不包含副檔名: 正則表達寫法:([^<>/\\\|:""\*\?]+)\.\w+$ java中的寫法: …… String reg = "([^<>/\\\\|:\"\"\\*\\?]+)\\.\\w+$+"; Matcher m = P
scala之正則表示式(二)內部匹配函式
1、scala解析正則表示式步驟 以下面表達為例: val dateP1 = new scala.util.matching.Regex("""(\d\d\d\d)-(\d\d)-(\d\d)"""
Perl正則表示式(1) - 正則表示式基礎知識
Perl正則表示式 1. 基礎知識 Perl中正則表示式(regular expression)預設匹配 $_ 中的字串,匹配成功就返回真,否則返回假; Perl匹配正則表示式時,可以使用變數內插,先完成變數內插,取出變數中的字串後,編譯正則表示式。 1.
正則表示式 IP 正則表示式 合法IP
為了以後的不時之需。 適用於Java 語言。 String validIpRegex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])
js中字串正則表示式、正則法則pattern、RegExp、flags、exec
全棧工程師開發手冊 (作者:欒鵬) js中字串正則表示式 正則法則的應用 正則表示式 = /pattern/flags 其中flags中g表示匹配全部,i表示不區分大小寫,m表示匹配多