java正则汉字
㈠ 用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 求一个正则表达式,比如:第一个汉字固定,第二个汉字不一定,需要把这两个字变成一个别的字。
String s="你好 你对 你啊";
s=s.replaceAll("你.{1}","hello");
System.out.println(s);
㈢ 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());
}
}
程序运行结果:
(3)java正则汉字扩展阅读
匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,"单词"字符使用Unicode字符集,中文的为:[\u4e00-\u9fa5],表示英文字母的为w,表示数字的为d,表示_的为_,而*号表示的则是0个或多个,|表示的则是或,所以把每个要匹配的用|拼接可以表示要匹配的正则表达式。
㈣ 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("满足");
}
}
}
....这回题终于看明白.........
㈥ java中正则表达式 一个字符串中提取特定的汉字
针对本文本直接用 "_blank">(\w+) 就能匹配出来。
如果复杂点,可以判断 “福田”后面的数
如果能确定 BJ5081XCX —— 总是 9位,并且前后有空格,可以用
"_blank">(\w+)(?=\s\w{9}\s) 进一步约束
㈦ 我想用java正则匹配汉语数字,比如:零、一、二、二十二、三百三十三,等等,有人知道么
下面是一个代码你可以看一下,答案就在其中
import java.util.regex.*;
public class Test {
public static void main(String[] args) {
String re0 = "[零一二三四五六七八九十百千]";
String re1 = "\\d+-\\d+-?\\d*-?\\d*|"+re0+"+-"+re0+"+-?"+re0+"*-?"+re0+"*";//存在 3-3(3-3-3、3-3-3-3)
String re2 = "\\d+号|"+re0+"+号";//存在3/三号
String re3 = "\\d+-\\d+-?\\d*-?\\d*号|"+re0+"+-"+re0+"+-?"+re0+"*-?"+re0+"*号";//存在3-33-3(3-3-3、3-3-3-3)号
String re4 = "\\d+号?[栋弄幢楼座]|"+re0+"+号?[栋弄幢楼座]";
String re10 = "[省市乡县村屯区巷街路道]$";//以村等结尾
String str1 = "香港吉祥二十号";
System.out.println(re1);
Pattern pattern = Pattern.compile(re2);
Matcher matcher = pattern.matcher(str1);
boolean rs = matcher.find();
System.out.println(rs);
}
}
㈧ java 如何用正则表达式去掉汉字
取出每个字符判断是否符合正则表达式 如果符合则加入StringBuffer 否则丢弃不加入
最后StringBuffer的结果就是去掉汉字的字符串了
㈨ java 正则表达式 怎么匹配 中文 和数字
java 正则匹配字符为纯数字方法:
定义正则表达式为:
String reg="^\\d+$"
获取要判断的字符串:
String str;//可以通过Scanner从控制台输入,也可以用字符串常量进行初始化
调用字符串的matches方法判断字符串为纯数字情况:
str.matches(reg);
如果是纯数字返回为true,否则返回为false;