導航:首頁 > 編程語言 > java漢字正則表達式

java漢字正則表達式

發布時間:2022-04-29 10:14:38

『壹』 java正則表達式怎麼表示數字

我搜藏的這些足夠你用了

1 數字:^[0-9]*$
2 n位的數字:^\d{n}$
3 至少n位的數字:^\d{n,}$
4 m-n位的數字:^\d{m,n}$
5 零和非零開頭的數字:^(0|[1-9][0-9]*)$
6 非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
7 帶1-2位小數的正數或負數:^(\-)?\d+(\.\d{1,2})?$
8 正數、負數、和小數:^(\-|\+)?\d+(\.\d+)?$
9 有兩位小數的正實數:^[0-9]+(.[0-9]{2})?$
10 有1~3位小數的正實數:^[0-9]+(.[0-9]{1,3})?$
11 非零的正整數:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$
12 非零的負整數:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13 非負整數:^\d+$ 或 ^[1-9]\d*|0$
14 非正整數:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15 非負浮點數:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16 非正浮點數:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17 正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18 負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19 浮點數:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

二、校驗字元的表達式

1 漢字:^[\u4e00-\u9fa5]{0,}$
2 英文和數字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
3 長度為3-20的所有字元:^.{3,20}$
4 由26個英文字母組成的字元串:^[A-Za-z]+$
5 由26個大寫英文字母組成的字元串:^[A-Z]+$
6 由26個小寫英文字母組成的字元串:^[a-z]+$
7 由數字和26個英文字母組成的字元串:^[A-Za-z0-9]+$
8 由數字、26個英文字母或者下劃線組成的字元串:^\w+$ 或 ^\w{3,20}$
9 中文、英文、數字包括下劃線:^[\u4E00-\u9FA5A-Za-z0-9_]+$
10 中文、英文、數字但不包括下劃線等符號:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11 可以輸入含有^%&',;=?$\"等字元:[^%&',;=?$\x22]+
12 禁止輸入含有~的字元:[^~\x22]+

三、特殊需求表達式

1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3 InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
4 手機號碼:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
5 電話號碼("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
6 國內電話號碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
7 身份證號:
15或18位身份證:^\d{15}|\d{18}$
15位身份證:^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
18位身份證:^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$
8 短身份證號碼(數字、字母x結尾):^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
9 帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10 密碼(以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線):^[a-zA-Z]\w{5,17}$
11 強密碼(必須包含大小寫字母和數字的組合,不能使用特殊字元,長度在8-10之間):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
12 日期格式:^\d{4}-\d{1,2}-\d{1,2}
13 一年的12個月(01~09和1~12):^(0?[1-9]|1[0-2])$
14 一個月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$
15 錢的輸入格式:
16 1.有四種錢的表示形式我們可以接受:"10000.00" 和 "10,000.00", 和沒有 "分" 的 "10000" 和 "10,000":^[1-9][0-9]*$
17 2.這表示任意一個不以0開頭的數字,但是,這也意味著一個字元"0"不通過,所以我們採用下面的形式:^(0|[1-9][0-9]*)$
18 3.一個0或者一個不以0開頭的數字.我們還可以允許開頭有一個負號:^(0|-?[1-9][0-9]*)$
19 4.這表示一個0或者一個可能為負的開頭不為0的數字.讓用戶以0開頭好了.把負號的也去掉,因為錢總不能是負的吧.下面我們要加的是說明可能的小數部分:^[0-9]+(.[0-9]+)?$
20 5.必須說明的是,小數點後面至少應該有1位數,所以"10."是不通過的,但是 "10" 和 "10.2" 是通過的:^[0-9]+(.[0-9]{2})?$
21 6.這樣我們規定小數點後面必須有兩位,如果你認為太苛刻了,可以這樣:^[0-9]+(.[0-9]{1,2})?$
22 7.這樣就允許用戶只寫一位小數.下面我們該考慮數字中的逗號了,我們可以這樣:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
23 8.1到3個數字,後面跟著任意個 逗號+3個數字,逗號成為可選,而不是必須:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
24 備註:這就是最終結果了,別忘了"+"可以用"*"替代如果你覺得空字元串也可以接受的話(奇怪,為什麼?)最後,別忘了在用函數時去掉去掉那個反斜杠,一般的錯誤都在這里
25 xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
26 中文字元的正則表達式:[\u4e00-\u9fa5]
27 雙位元組字元:[^\x00-\xff] (包括漢字在內,可以用來計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1))
28 空白行的正則表達式:\n\s*\r (可以用來刪除空白行)
29 HTML標記的正則表達式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (網上流傳的版本太糟糕,上面這個也僅僅能部分,對於復雜的嵌套標記依舊無能為力)
30 首尾空白字元的正則表達式:^\s*|\s*$或(^\s*)|(\s*$) (可以用來刪除行首行尾的空白字元(包括空格、製表符、換頁符等等),非常有用的表達式)
31 騰訊QQ號:[1-9][0-9]{4,} (騰訊QQ號從10000開始)
32 中國郵政編碼:[1-9]\d{5}(?!\d) (中國郵政編碼為6位數字)
33 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址時有用)

『貳』 java字元串裡面如何用正則表達式去掉漢字

public static void main(String[] args) {

// TODO Auto-generated method stub

String str = "123abc你好efc";

String reg = "[u4e00-u9fa5]";

Pattern pat = Pattern.compile(reg);

Matcher mat=pat.matcher(str);

String repickStr = mat.replaceAll("");

System.out.println("去中文後:"+repickStr);

}

『叄』 java 正則表達式 怎麼匹配 中文 和數字

java 正則匹配字元為純數字方法:
定義正則表達式為:

String reg="^\\d+$"

獲取要判斷的字元串:

String str;//可以通過Scanner從控制台輸入,也可以用字元串常量進行初始化

調用字元串的matches方法判斷字元串為純數字情況:

str.matches(reg);

如果是純數字返回為true,否則返回為false;

『肆』 用JAVA語言編寫正則表達式匹配指定的漢字的方法

匹配中文字元的正則表達式: [\u4e00-\u9fa5] 匹配雙位元組字元(包括漢字在內):[^\x00-\xff] 匹配空行的正則表達式:\n[\s ]*\r 匹配HTML標記的正則表達式:/ <(.*) .* <\/\1 <(.*) \/ / 匹配首尾空格的正則表達式:(^\s*) (\s*$) 用正則表達式限制只能輸入中文:onkeyup= "value=value.replace(/[^\u4E00-\u9FA5]/g, ' ') " onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\u4E00-\u9FA5]/g, ' ')) " 用正則表達式限制只能輸入全形字元: onkeyup= "value=value.replace(/[^\uFF00-\uFFFF]/g, ' ') " onbeforepaste= "clipboardData.setData( 'text ',clipboardData.getData( 'text ').replace(/[^\uFF00-\uFFFF]/g, ' ')) "

『伍』 java 正則表達式是什麼

不同情況下的正則表達式:

『陸』 JAVA正則表達式判斷 只能包含漢字、英文、「_」和數字 ,正則該怎麼寫呢

正則表達式:[\u4e00-\u9fa5]*|\w*|\d*|_*

代碼如下:

@Test
public void test1(){
//匹配正則表達式表達式
String str = "[\u4e00-\u9fa5]*|\w*|\d*|_*";
Pattern pattern = Pattern.compile(str);
//要匹配的字元串
String mStr = "還有多遠_344fjdk";
System.out.println("測試的字元串:"+mStr);
Matcher m = pattern.matcher(mStr);
//如果匹配到了
if(m.find()){
System.out.println("匹配內容:"+m.group());
}
}

程序運行結果:

(6)java漢字正則表達式擴展閱讀

匹配包括下劃線的任何單詞字元。類似但不等價於「[A-Za-z0-9_]」,"單詞"字元使用Unicode字元集,中文的為:[\u4e00-\u9fa5],表示英文字母的為w,表示數字的為d,表示_的為_,而*號表示的則是0個或多個,|表示的則是或,所以把每個要匹配的用|拼接可以表示要匹配的正則表達式。

『柒』 java正則表達式中是什麼意思

Java 字元串中\是轉義字元,例如"\n"是換行,
因此要在字元串中插入一個\字元,就需要打"\\"

正則表達式中表示數字是字元串 \d,實際在內存中就是兩個字元\和d, 但在java中\就得寫成\\,因此在寫程序時就是"\\d"。

如果在正則中輸出一個\而不是表示轉義字元,正則表達式必須存\\,
實際在內存中就是兩個字元\和\,但是java中要分別表示這兩個\,
每個都必須寫成"\\",因此要寫成"\\\\"。

『捌』 java正則表達式急急急

String string = "國葯准字Z5689744";
System.out.println(string.replaceAll("[\u4e00-\u9fa5]", ""));

[\u4e00-\u9fa5]是中文漢字范圍,利用String類的replaceAll方法把所有中文漢字替換成空白

『玖』 Java正則表達式使用

你這個問題其實很簡單,只需要一句就可以了。
System.out.println(str.replaceAll(" << .*? > \\(\\$\\{date_min\\}\\) >>"," 8888"));
. 表示:匹配除「\n」之外的任何單個字元。若要匹配包括「\n」在內的任意字元,請使用諸如「[\s\S]」之類的模式。
*表示:零次或多次匹配前面的字元或子表達式。例如,zo* 匹配「z」和「zoo」。* 等效於 {0,}。
?表示:當此字元緊隨任何其他限定符(*、+、?、{n}、{n,}、{n,m})之後時,匹配模式是「非貪心的」。「非貪心的」模式匹配搜索到的、盡可能短的字元串,而默認的「貪心的」模式匹配搜索到的、盡可能長的字元串。例如,在字元串「oooo」中,「o+?」只匹配單個「o」,而「o+」匹配所有「o」。

這里稍微注意下在"<<"加上空格去匹配,這樣就能滿足你的需求了.

『拾』 Java中什麼是正則表達式

正則表達式 就是將一個類型的數據 按照一定方式 寫成正則表達式的形式 這樣可以辨別數據是否符合這一類型的數據 比如我們的身份證號碼 就是有一定的規則的 這樣我們寫一個 正則表達式 和別人輸入的身份證號碼 比對 如果符合這個正則表達式的規則 就是身份證號碼

閱讀全文

與java漢字正則表達式相關的資料

熱點內容
數學奇跡神奇運演算法 瀏覽:359
大廠的程序員的水平如何 瀏覽:700
遺傳演算法入門經典書籍 瀏覽:878
源碼炮台腳本 瀏覽:620
在位編輯命令 瀏覽:347
曲式分析基礎教程pdf 瀏覽:14
php生成靜態html頁面 瀏覽:964
怎麼分割pdf 瀏覽:812
壓縮垃圾報警器 瀏覽:628
小公司一般都用什麼伺服器 瀏覽:967
java獲取時間gmt時間 瀏覽:820
為什麼csgo一直連接不到伺服器 瀏覽:504
安卓登ins需要什麼 瀏覽:836
機器人演算法的難點 瀏覽:226
全自動化編程 瀏覽:726
程序員高薪限制 瀏覽:693
壓縮圖片壓縮 瀏覽:75
美國發明解壓魔方 瀏覽:302
電腦怎麼備案網上伺服器 瀏覽:515
旅行商問題Python寫法 瀏覽:953