正規表示式如何只匹配中文字元,正規表示式如何只匹配乙個中文字元

2021-03-04 01:24:07 字數 4566 閱讀 5591

1樓:匿名使用者

漢字的表示和正規表示式引擎相關,不同引擎的寫法不同,下面的寫法適用於java引擎,或者一切以unicode來表示字元的引擎。

1、基本規格——針對漢字的一般集合(cp936,約等於gbk,共計20000多漢字)

[\u3007\u4e00-\u9fcb\ue815-\ue864]

2、擴充規格——針對多一些的漢字(支援cjk exta,共計接近30000漢字)

[\u3007\u3400-\u4db5\u4e00-\u9fcb\ue815-\ue864]

3、豪華規格——針對更多的漢字(支援cjk extb、c、......,共計76000多漢字)

([\u3007\u3400-\u4db5\u4e00-\u9fcb\ue815-\ue864]|[\ud840-\ud87f][\udc00-\udfff])

如下關於漢字在unicode中的區間,亦可供參考

如何讓正規表示式只匹配一次中文字元?

2樓:

可以參bai考下下面的du**,希望能zhi幫到你:

string s = new string("大大dao大大大大");

pattern pattern = pattern.***pile("^!\\p");//只匹回配乙個中文字答符

matcher matcher = pattern.matcher();

while(matcher.find())

3樓:匿名使用者

沒太明bai白你的意思。

要判斷du 第乙個是不是zhi 「大」 字,還是 要把

dao 多個「大」字變成乙個?版

string s="大大大大";

s.startswith("大");//是否以「權大」 開頭s=s.replaceall("大+", "大");//將多個大替換成乙個

4樓:匿名使用者

我用的是python

>>> import re

>>> r=re.***pile('大')>>> s="大大大大大大"

>>> print r.match(s).group()大

求乙個查詢特定中文字元正規表示式 5

5樓:要麻

日[ ]*書[ ]*記[ ]*員

解釋一下,

首先你得保證,這四個字之間只能有空格或者沒有空格,有其它空版白字元的話自己權補。

[ ],這個是表示字元集合,表示只匹配中括號中的字元。這裡面的字元是空格。表示在這幾個字元之間只能有空格。

*,這個符號通常是最小匹配,即匹配0個或多個,就是無論這四個字前後之間有沒有空格,它都能匹配。

此表示式己經試驗通過。

更多notepad++的正規表示式語法參考

6樓:匿名使用者

日\s*書\s*記\s*員

正規表示式,如何匹配除了空格之外的所有字元?

7樓:泥馬不能更改

右斜槓和大寫字母復s就能避開

制任意空格,包括避開回車bai(換行

符)和軟回du車(強制換行zhi符),查詢到除任意dao空格以外的其他任意字元。本來很簡單的事被一些自以為是的半調子**誤人子弟。\s或\s+ 加號表示一次或多次,看自己需要決定

8樓:愛你凡凡麼麼噠

^var reg = /([^\s])/g;

var str = "a b c d e f";

var arr = str.match(reg);

console.error (arr);

正規表示式,又稱規則表示式。(英語:regular expression,在**中常簡寫為regex、regexp或re),計算機回科學的乙個答概念。

正規表示式通常被用來檢索、替換那些符合某個模式(規則)的文字。

許多程式語言都支援利用正規表示式進行字串操作。例如,在perl中就內建了乙個功能強大的正規表示式引擎。正規表示式這個概念最初是由unix中的工具軟體(例如sed和grep)普及開的。

正規表示式通常縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。

求乙個匹配中文的正規表示式 100

9樓:匿名使用者

你這什麼語言啊?

copy

word 是bai

所有小寫英文本母

du[a-z]

所有大寫英文本母[a-z]

所有西文字元

zhi[^1-^127]

所有中文漢字和中文標點

dao[!^1-^127]

所有中文漢字(cjk統一字元)[一-龥] or [一-﨩]所有中文標點[!一-龥^1-^127]

所有非數字字元[!0-9]

其他語言可以類推

10樓:匿名使用者

(?<=「)[\u4e00-\u9fa5]+(?=」)

以上為簡單答案,也有複雜的,主要是關於「什麼是漢字」,可參考以前回答過的類似問題。

11樓:匿名使用者

「[^x00-xff]+」

雙引號是英文的就換成英文的,是中文的就換成中文的

12樓:匿名使用者

[\u4e00-\u9fa5]*

正規表示式如何匹配兩個引號中含有中文的字串?

13樓:司馬刀劍

[u@baih /billing/user/xufc/pp]$perl

my $line='abc(@a)defghi(@b)aaaaa'; #要用單引號du、雙引號perl就先給你認

zhi為括號裡面為空dao

my @array=($line =~ m/\((.*?)\)/g) ; #語法叫版「列表上下文中的m//」,匹配(xx),然後權提取出xx

print "@array\n"; #輸入完成後、按ctrl+d代表程式結束

@a @b #輸出的結果

[u@h /billing/user/xufc/pp]$這個是perl裡面的,其它語言不知道怎麼用

如何用正則匹配中文長度,使乙個中文佔兩個字元。只能用正規表示式,不能加其他**,謝謝。 5

14樓:

什麼意思?乙個中文只能佔乙個字元。

你是要匹配什麼樣的效果,可以先舉個例子。

15樓:匿名使用者

看你用的什麼工具,語言,

這個是有差異的

求乙個正規表示式可以匹配:中文字元,中文標點符號,英文,數字,下劃線。但不能輸入@、# 等特殊字元.

16樓:

\w+|[,。《》()、—]+

\w匹配:中文字元,英文,數字,下劃線

至於中文標點符號,看你需要了,如果有另外的就新增在中括號裡面。

17樓:匿名使用者

\w不匹配中文字元的

18樓:

[^%&',;=?$\x22]+

19樓:匿名使用者

/^(?: [^[:punct:]] | \_ )+$/x

20樓:匿名使用者

^[^!@#$%^&*()-=+]+$

正規表示式怎麼匹配非漢字非字母非數字之外的字元?

21樓:匿名使用者

漢字的表示和正規表示式引擎相關,不同引擎的寫法不同,下面的寫法適用於java引擎,或者一切以unicode來表示字元的引擎。

1、基本規格——針對漢字的一般集合(cp936,約等於gbk,共計20000多漢字)

[^\da-za-z\u3007\u4e00-\u9fcb\ue815-\ue864]

2、擴充規格——針對多一些的漢字(支援cjk exta,共計接近30000漢字)

3、豪華規格——針對更多的漢字(支援cjk extb、c、......,共計75000多漢字)

(?![\da-za-z\u3007\u3400-\u4db5\u4e00-\u9fcb\ue815-\ue864]|[\ud840-\ud87f][\udc00-\udfff])

22樓:泥馬不能更改

要除去哪個就把哪個新增到中括號裡[^]。這就是查詢除去漢字、字母、數字之外的其他所有字元,加號表示一次或多次,根據自己需要決定。[^~k\d\l\u]+

23樓:pys大本營

/[\x-\x]+/u , 如果是utf8編碼的字串後面一定要加模式修飾符 u,不然報錯

24樓:死後是好人

非字母,非數字[^a-za-z0-9]*

想要非漢字就太困難了,需要利用相關漢語編碼

表示佔座等高手來正則匹配

正規表示式如何匹配漢字,如何用正規表示式校驗漢字

去掉 和 試試 u4e00 u9fa5 u數字,在perl pcre中要改為 x x 按.的標準,w本來就是可以匹配 漢字,字母,數字,下劃線。的所以一般 w可以滿足需求了。如果需要排除字母數字的話,可以這樣 a za z0 9 w 這樣寫估計效率不高 所以一般來說還是直接匹配指定的unicode碼...

python中正規表示式怎麼匹配中文

a za z0 9 s 中國.group 1 就是 s1 需要正則嗎,if s1.find 中國 0 不就行了 python正規表示式中 w居然能匹配漢字,請問是怎麼一回事?w匹配的是能組成單詞的字元,在python3 中re預設支援的是unicode字符集,當然也支援漢字 如果要讓 w僅支援英文,...

正規表示式匹配大小寫問題,正規表示式不分大小寫匹配指定字串

v v ar b v i 後面加個i 不區分大小寫 正規表示式不分大小寫匹配指定字串 20 你可以在匹配模式中設定,比如是php的話 error warning i 這裡的 是正則的開始與結束,最後面的i表示匹配忽略大小寫 d d d 這個正規表示式能提取字串倒數第4位到第7位的數字值。例如 123...