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

java正則表達式參數

發布時間:2024-12-14 21:42:19

『壹』 java正則表達式,matcher.find和 matcher.matches的區別

1.find()方法是部分匹配,是查找輸入串中與模式匹配的子串,如果該匹配的串有組還可以使用group()函數。
matches()是全部匹配,是將整個輸入串與模式匹配,如果要驗證一個輸入的數據是否為數字類型或其他類型,一般要用matches()。

2.Pattern pattern= Pattern.compile(".*?,(.*)");
Matcher matcher = pattern.matcher(result);
if (matcher.find()) {
return matcher.group(1);
}

3.詳解:
matches
public static boolean matches(String regex, CharSequence input)
編譯給定正則表達式並嘗試將給定輸入與其匹配。
調用此便捷方法的形式
Pattern.matches(regex, input);
Pattern.compile(regex).matcher(input).matches() ;
如果要多次使用一種模式,編譯一次後重用此模式比每次都調用此方法效率更高。
參數:
regex - 要編譯的表達式
input - 要匹配的字元序列
拋出:
PatternSyntaxException - 如果表達式的語法無效

find
public boolean find()嘗試查找與該模式匹配的輸入序列的下一個子序列。
此方法從匹配器區域的開頭開始,如果該方法的前一次調用成功了並且從那時開始匹配器沒有被重置,則從以前匹配操作沒有匹配的第一個字元開始。
如果匹配成功,則可以通過 start、end 和 group 方法獲取更多信息。
matcher.start() 返回匹配到的子字元串在字元串中的索引位置.
matcher.end()返回匹配到的子字元串的最後一個字元在字元串中的索引位置.
matcher.group()返回匹配到的子字元串
返回:
當且僅當輸入序列的子序列匹配此匹配器的模式時才返回 true。

『貳』 java涓媯鏌ュ撳悕鐨勬e垯琛ㄨ揪寮

浠ヤ笅鏄涓涓狫ava涓鐢ㄤ簬媯鏌ュ撳悕鐨勬e垯琛ㄨ揪寮忥紝瀹冭兘澶熷尮閰2鍒8涓奼夊瓧鎴栬2鍒16涓鑻辨枃瀛楁瘝銆

code
String regex = "^([\\u4E00-\\u9FA5]{2,8}|[a-zA-Z]{2,16})$";
鍏蜂綋瑙i噴濡備笅錛

^ 琛ㄧず鍖歸厤瀛楃︿覆鐨勫紑澶
() 琛ㄧず涓涓鎹曡幏緇勶紝鍏朵腑鍖呭惈浜嗕袱涓瀛愭ā寮
[\u4E00-\u9FA5] 琛ㄧず涓涓奼夊瓧瀛楃︼紝鑼冨洿涓篣nicode緙栫爜鐨勪腑鏂囪寖鍥
{2,8} 琛ㄧず璇ュ瓧絎﹀彲浠ュ嚭鐜2鍒8嬈
| 琛ㄧず閫昏緫鎴栵紝琛ㄧず涓や釜瀛愭ā寮忎腑鐨勪換鎰忎竴涓閮藉彲浠ュ尮閰嶆垚鍔
[a-zA-Z] 琛ㄧず涓涓鑻辨枃瀛楁瘝錛屼笉鍖哄垎澶у皬鍐
{2,16} 琛ㄧず璇ュ瓧絎﹀彲浠ュ嚭鐜2鍒16嬈
$ 琛ㄧず鍖歸厤瀛楃︿覆鐨勭粨灝
鍥犳わ紝涓婇潰鐨勬e垯琛ㄨ揪寮忓彲浠ュ尮閰嶉暱搴︿負2鍒8涓奼夊瓧鎴栭暱搴︿負2鍒16涓鑻辨枃瀛楁瘝鐨勫瓧絎︿覆錛屽彲浠ョ敤浜庢鏌ュ撳悕鏄鍚︾﹀悎瑕佹眰銆

『叄』 Java-18位身份證號的正則表達式。幫忙拆一下代碼。

^ 匹配字元串的開始
[1-9] 第1位:1-9
\d{5} 第2-6位:0-9
[1-9] 第7位:1-9
\d{3} 第8-10位:0-9
((0\d)|(1[0-2])):
第11-12位:(00-09)或(10-12)
(([0|1|2]\d)|3[0-1])
第13-14位:(00-29)或(30-31)
\d{3} 第15-17位:0-9
([0-9]|X)
第18位:0-9或X
$ 匹配字元串的結束

『肆』 用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正則表達式判斷 只能包含漢字、英文、「_」和數字 ,正則該怎麼寫呢

正則表達式:[\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());
}
}

程序運行結果:

(5)java正則表達式參數擴展閱讀

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

『陸』 java中非中文的正則表達式是什麼

非中文 [^\u4e00-\u9fa5]


中文的正則表達式是[\u4e00-\u9fa5]

其他正則表達式

字元類
[abc] a、b 或 c(簡單類)
[^abc] 任何字元,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,兩頭的字母包括在內(范圍)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](並集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](減去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](減去)
以上在java中使用時用雙引號將它們括起來就可以了

預定義字元類
. 任何字元(與行結束符可能匹配也可能不匹配)
\d 數字:[0-9] (單個數字)
\D 非數字: [^0-9]
\s 空白字元:[ \t\n\x0B\f\r]
\S 非空白字元:[^\s]
\w 單詞字元:[a-zA-Z_0-9]
\W 非單詞字元:[^\w]
以上在java中使用時除了將它們用雙引號括起來以為,還須加\轉義,例如\d的實際用法是」\\d「

POSIX 字元類(僅 US-ASCII)

\p{Lower} 小寫字母字元:[a-z]
\p{Upper} 大寫字母字元:[A-Z]
\p{ASCII} 所有 ASCII:[\x00-\x7F]
\p{Alpha} 字母字元:[\p{Lower}\p{Upper}]
\p{Digit} 十進制數字:[0-9]
\p{Alnum} 字母數字字元:[\p{Alpha}\p{Digit}]
\p{Punct} 標點符號:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph} 可見字元:[\p{Alnum}\p{Punct}]
\p{Print} 可列印字元:[\p{Graph}\x20]
\p{Blank} 空格或製表符:[ \t]
\p{Cntrl} 控制字元:[\x00-\x1F\x7F]
\p{XDigit} 十六進制數字:[0-9a-fA-F]
\p{Space} 空白字元:[ \t\n\x0B\f\r]

以上字元串要加雙引號和反斜杠號Greedy 數量詞

X? X,一次或一次也沒有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超過 m 次

用法也是將它們用雙引號括起來


Logical 運算符

XY X 後跟 Y
X|Y X 或 Y
(X) X,作為捕獲組

用法也是將它們用雙引號括起來

注意:正則表達式則有在方法參數明確是以正則表達式為參考時才使用,否則如果方法參數是普通字元序列時是不起作用的。
(引自網路和書籍)

『柒』 求 兩個java 正則表達式 1. 整數,最多可以有兩位小數 2.正整數

1.整數,最多可以有兩位小數
^[-|+]?\\d*([.]\\d{0,2})?$
2.正整數
^\\d$

註:java中\需要換成\\

修改:
1、正數不能為零、最多有2有小數,如果第一位為0則下一位必須為小數點
^[+]?(([1-9]\\d*[.]?)|(0.))(\\d{0,2})?$
2、正數不能為0
^[\\d&&[^0]]{1}$

『捌』 求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正則表達式參數相關的資料

熱點內容
vcu盤加密怎麼設置 瀏覽:412
如何加密備份微信聊天記錄 瀏覽:527
安卓手機如何模擬鍵盤 瀏覽:930
查看dns地址命令 瀏覽:767
android錄屏工具 瀏覽:840
成都互動直播系統源碼 瀏覽:955
usb藍牙android 瀏覽:409
伺服器顯示error1什麼意思 瀏覽:710
python代碼精簡 瀏覽:459
文件加密了怎麼找到了 瀏覽:195
jellyfin插件怎麼選擇主伺服器 瀏覽:838
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:745
python字元轉成數字 瀏覽:823
海川用的是什麼伺服器 瀏覽:377
口才是練出來的pdf 瀏覽:460
雲伺服器哪個公司性價比高 瀏覽:519