❶ 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());
}
}
程序運行結果:
(1)java正則測試擴展閱讀
匹配包括下劃線的任何單詞字元。類似但不等價於「[A-Za-z0-9_]」,"單詞"字元使用Unicode字元集,中文的為:[\u4e00-\u9fa5],表示英文字母的為w,表示數字的為d,表示_的為_,而*號表示的則是0個或多個,|表示的則是或,所以把每個要匹配的用|拼接可以表示要匹配的正則表達式。
❷ 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正則表達式檢測字元串是否是數字組成的
1,正則表達式概念介紹(內容來自網路):正則表達式,又稱規則表達式,英文名為Regular Expression,在代碼中常簡寫為regex、regexp或RE,是計算機科學的一個概念。
正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。正則表達式是對字元串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為「元字元」))操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。正則表達式是一種文本模式,模式描述在搜索文本時要匹配的一個或多個字元串。
2,檢測字元串是否由數字組成,則採用該表達式:
publicstaticvoidmain(String[]args){
//要驗證的字元串
Stringstr="[email protected]";
//是否數字正則表達式
StringregEx="^[0-9]*$";
//編譯正則表達式
Patternpattern=Pattern.compile(regEx);
//忽略大小寫的寫法
Matchermatcher=pattern.matcher(str);
//字元串是否與正則表達式相匹配
booleanrs=matcher.matches();
//如果為數字,則輸出true,反之false,即可用該變數做條件判斷
System.out.println(rs);
}