① java 正则表达式 怎么匹配 中文 和数字
java 正则匹配字符为纯数字方法:
定义正则表达式为:
String reg="^\\d+$"
获取要判断的字符串:
String str;//可以通过Scanner从控制台输入,也可以用字符串常量进行初始化
调用字符串的matches方法判断字符串为纯数字情况:
str.matches(reg);
如果是纯数字返回为true,否则返回为false;
② Java中什么是正则表达式
正则表达式 就是将一个类型的数据 按照一定方式 写成正则表达式的形式 这样可以辨别数据是否符合这一类型的数据 比如我们的身份证号码 就是有一定的规则的 这样我们写一个 正则表达式 和别人输入的身份证号码 比对 如果符合这个正则表达式的规则 就是身份证号码
③ java中正则表达式 一个字符串中提取特定的汉字
针对本文本直接用 "_blank">(\w+) 就能匹配出来。
如果复杂点,可以判断 “福田”后面的数
如果能确定 BJ5081XCX —— 总是 9位,并且前后有空格,可以用
"_blank">(\w+)(?=\s\w{9}\s) 进一步约束
④ 用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 正则表达式匹配汉字,(比如某个字符串中包含“主管”的话就返回成功)
Stringstring1="主sdf管";
Stringreg=".*[u4e00-u9fff]+.*";
System.out.println(string1.matches(reg));
Stringstring2="sfsdf主管sdfsdf";
Stringreg2=".*u4e3bu7ba1.*";
System.out.println(string2.matches(reg2));
⑥ 这一个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("满足");
}
}
}
....这回题终于看明白.........