Ⅰ java正則表達式
1、Java 正則表達式:
正則表達式定義了字元串的模式。正則表達式可以用來搜索、編輯或處理文本。正則表達式並不僅限於某一種語言,但是在困桐每種語言中有細微的差別。
2、正則表達式實例
一個字元串其實就是一個簡單的正則表達式,例如 Hello World 正則表達式匹配 Hello World 字元串。.(點號)也是一個正則表達式,它匹配任何一個字元如:a 或 1。
3、java.util.regex 包主要包括以下三個類:
(1)Pattern 類:
pattern 對象是一個正則表達式的編譯表示。Pattern 類沒有公共構造方法。要創建一個 Pattern 對象,你必須首先調用其公共靜態編譯方法,它返回一個 Pattern 對象。該方法接受一個正則表達式作為它的第一個參數。
(2)Matcher 類頌汪:
Matcher 對象是對輸入字元串進行解釋和匹配操作的引擎。與Pattern 類一樣,Matcher 也沒有公野尺仔共構造方法。你需要調用 Pattern 對象的 matcher 方法來獲得一個 Matcher 對象。
(3)PatternSyntaxException:
PatternSyntaxException 是一個非強制異常類,它表示一個正則表達式模式中的語法錯誤。
Ⅱ java編寫正則表達式,判斷給定的是否是一個合法的IP地址
正則表達式匹配ip地址,實際上就是分別判斷每個點直接的數字是否符合規范。\x0d\x0apackage com;\x0d\x0a import java.util.regex.Matcher;\x0d\x0a import java.util.regex.Pattern; \x0d\x0a public class TestRegex { \x0d\x0a public static boolean isboolIP(String ipAddress){ \x0d\x0a String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})"; \x0d\x0a Pattern pattern = Pattern.compile(ip); \x0d\x0a Matcher matcher = pattern.matcher(ipAddress); \x0d\x0a return matcher.matches();\x0d\x0a } \x0d\x0a /** * @param args \x0d\x0a */ \x0d\x0a public static void main(String[] args) { \x0d\x0a // TODO Auto-generated method stub \x0d\x0a String ipAddress1 = "10."; \x0d\x0a String ipAddress2 = "0.0.0.0"; \x0d\x0a String ipAddress3 = "255.255.255.255";\x0d\x0a String ipAddress4 = "192.168.2.1";\x0d\x0a String ipAddress5 = "26445687";\x0d\x0a String ipAddress6 = "nihao"; \x0d\x0a String ipAddress7 = "你好!!"; \x0d\x0a if(isboolIP(ipAddress1)){ \x0d\x0a System.out.println("IP正確"); \x0d\x0a }else{ \x0d\x0a System.out.println("IP錯誤"); \x0d\x0a } if(isboolIP(ipAddress2)){ \x0d\x0a System.out.println("IP正確"); }else{ \x0d\x0a System.out.println("IP錯誤"); \x0d\x0a } if(isboolIP(ipAddress3)){ \x0d\x0a System.out.println("IP正確"); }else{ \x0d\x0a System.out.println("IP錯誤"); \x0d\x0a } \x0d\x0a if(isboolIP(ipAddress4)){ \x0d\x0a System.out.println("IP正確"); }else{ \x0d\x0a System.out.println("IP錯誤");
Ⅲ Java中什麼是正則表達式
正則表達式 就是將一個類型的數據 按照一定方式 寫成正則表達式的形式 這樣可以辨別數據是否符合這一類型的數據 比如我們的身份證號碼 就是有一定的規則的 這樣我們寫一個 正則表達式 和別人輸入的身份證號碼 比對 如果符合這個正則表達式的規則 就是身份證號碼
Ⅳ java正則表達式是什麼
java正則表達式是為\d+.{0,1}d*。需要轉義反斜杠,所以有兩個反斜杠。這個正則表達式表示整數或者小數\d+表示1個或多個0到9的數字,是整數部分至少是一位整數的整數部分0,1表示0個或1個小數點,因為點在正則表達式中表示任意字元,所以這里需要用轉義符。
使它變回原來的小數點的意思,0,1表示0或1個,也就是可以有或者沒有小數點\d*表示0個或多個0到9的數字,是小數部分,0個時表示這個數沒有小數部分,只有整數部分。
java的概念
使用單個字元串來描述。匹配一系列符合某個語句規則的字元串,定義了字元串的模式。正則表達式主要用於字元串中,為方便字元串操作,文本的復雜處理。
字元串的操作主要有四種,匹配、切割、替換、獲取。匹配一些字元串,根據題目要求。
Ⅳ 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,作為捕獲組
用法也是將它們用雙引號括起來
注意:正則表達式則有在方法參數明確是以正則表達式為參考時才使用,否則如果方法參數是普通字元序列時是不起作用的。
(引自網路和書籍)