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;}。