用JAVA语言编写正则表达式匹配指定的汉字的方法

Python013

用JAVA语言编写正则表达式匹配指定的汉字的方法,第1张

匹配中文字符正则表达式: [\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 reg="^\\d+$"

获取要判断的字符串

String str;//可以通过Scanner从控制台输入,也可以用字符串常量进行初始化

调用字符串的matches方法判断字符串为纯数字情况:

str.matches(reg);

如果是纯数字返回为true,否则返回为false;

正则表达式:[\\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())

}

}

程序运行结果:

扩展资料

匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,"单词"字符使用Unicode字符集,中文的为:[\\u4e00-\\u9fa5],表示英文字母的为\w,表示数字的为\d,表示_的为_,而*号表示的则是0个或多个,|表示的则是或,所以把每个要匹配的用|拼接可以表示要匹配的正则表达式。

参考资料:oracle官网-Java SE API 和文档