java漢字正則
㈠ 我想在java代碼中匹配字元串,用正則表達式,代碼應該怎麼寫
1、java代碼匹配漢字正則:[\u4E00-\u9FA5]+
2、java代碼匹配漢字和字母正則[\u4E00-\u9FA5]+[a-zA-Z]+
3、js中只可以輸入漢字:
function checkChinese(s)
{
var reg=/[\u4E00-\u9FA5]/g;
if (!reg.test(s)){alert("只允許輸入漢字!");}
}
㈡ 用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 正則式匹配 只能輸入兩個漢字中的任何一個
下面的代碼你可以參考,是一個匹配後者查找你想要的漢字的幾個方法,應該可以符合你的要求,如果還有神馬不知道的,可以追問.
public static String chineseToUnicode(String oneChinese) {
StringBuffer stringBuffer = new StringBuffer();
char[] chars = oneChinese.toCharArray();
for (int i = 0; i < chars.length; i++) {
stringBuffer.append(Integer.toString(chars[i], 16));
}
return stringBuffer.toString();
}
public static void validateChinese(String str, String source) {
StringBuffer stringBuffer = new StringBuffer();
int len = str.length();
for (int i = 0; i < len; i++) {
stringBuffer.append("\\u").append(
chineseToUnicode(str.substring(i, i + 1)));
}
String rule = stringBuffer.toString();
System.out.println("要匹配的中文正則表達式為:"+rule);
Pattern p = Pattern.compile(rule);
Matcher m = p.matcher(source);
System.out.println(m.find());
}
public static void main(String[] args) {
String input="you input chinese";
validateChinese(input,"老虎");
validateChinese(input,"獅子");
}
㈣ 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());
}
}
程序運行結果:
(4)java漢字正則擴展閱讀
匹配包括下劃線的任何單詞字元。類似但不等價於「[A-Za-z0-9_]」,"單詞"字元使用Unicode字元集,中文的為:[\u4e00-\u9fa5],表示英文字母的為w,表示數字的為d,表示_的為_,而*號表示的則是0個或多個,|表示的則是或,所以把每個要匹配的用|拼接可以表示要匹配的正則表達式。
㈤ java 正則表達式 怎麼匹配 中文 和數字
java 正則匹配字元為純數字方法:
定義正則表達式為:
String reg="^\\d+$"
獲取要判斷的字元串:
String str;//可以通過Scanner從控制台輸入,也可以用字元串常量進行初始化
調用字元串的matches方法判斷字元串為純數字情況:
str.matches(reg);
如果是純數字返回為true,否則返回為false;
㈥ 這一個java正則表達式,進行漢字驗證。
importjava.util.Scanner;
importjava.util.regex.Pattern;
publicclassTest{
publicstaticvoidmain(String[]args){
Scannercan=newScanner(System.in);
Stringss=can.nextLine();
StringregEx="[u4e00-u9fa5]";
Patternp=Pattern.compile(regEx);
intnum=0;//漢字長度
for(inti=0;i<ss.length();i++){
if(p.matches(regEx,ss.substring(i,i+1))){
num++;
}
}
if(num<2){
System.out.println("輸入的中文不足兩個");
}else{
System.out.println("滿足");
}
}
}
....這回題終於看明白.........
㈦ java 正則表達式是什麼
不同情況下的正則表達式:
匹配首尾空格的正則表達式:(^s*)|(s*$)。
匹配html標簽的正則表達式:<(.*)>(.*)</(.*)>|<(.*)/>。
配空行的正則表達式: [s| ]* 。
整數或者小數:^[0-9]+.{0,1}[0-9]{0,2}$。
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^d{n}$"。
只能輸入至少n位的數字:"^d{n,}$"。
只能輸入m~n位的數字:。"^d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^-[1-9][]0-9"*$。
只能輸入長度為3的字元:"^.{3}$"。
只能輸入由26個英文字母組成的字元串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字元串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字元串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字元串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下劃線組成的字元串:"^w+$"。
驗證用戶密碼:"^[a-zA-Z]w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字元、數字和下劃線。
驗證是否含有^%&',;=?$"等字元:"[^%&',;=?$x22]+"。
只能輸入漢字:"^[u4e00-u9fa5]{0,}$"。
驗證Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。
匹配中文字元的正則表達式: [u4e00-u9fa5]。
匹配雙位元組字元(包括漢字在內):[^x00-xff]。
應用:計算字元串的長度(一個雙位元組字元長度計2,ASCII字元計1)String.prototype.len=function(){returnthis.replace(/[^x00-xff]/g,"aa").length;}。