java中用正則表達式推断中文字符串中是否含有英文或者数字

public static boolean includingNUM(String str)throws  Exception{

Pattern p  = Pattern.compile("[\u4e00-\u9fa5]*[\\d|\\w]+[\u4e00-\u9fa5]*");

//或者  Pattern p  = Pattern.compile("[\u4e00-\u9fa5]*[0-9|a-z|A-Z]+[\u4e00-\u9fa5]*");

Matcher M = p.matcher(str);

boolean f =M.matches();

return f;

}

备注: java正则中:

\\D表示非数字
\\d表示数字
\\W表示非单词
\u4e00-\u9fa5是中文字符的编码范围
\\w表示单词
当中一个\是转义字符!!
 [\d\D]、[\w\W]、[\s\S]这三个表示 不论什么字符。

public static void main(String[] args) {
	String reg = "[\\d\\D]*\"[^\"]*\"[\\d\\D]*";
	String str = "你好\"五都\"辅选";  // 你好"五都"辅选
	boolean f = str.matches(reg);
	System.out.println(f);

	 str = "\"五都\"";// "五都"
	 f = str.matches(reg);
	System.out.println(f);
	}
	结果均为true;

 \\s在java中 不表示中文汉字,记住。尽管在正则測试机上能够表示中文汉字
时间: 2024-11-03 21:09:44

java中用正則表達式推断中文字符串中是否含有英文或者数字的相关文章

利用正則表達式排除特定字符串

本文转载自:http://www.cnblogs.com/wangqiguo/archive/2012/05/08/2486548.html 查找不以baidu开头的字符串 baidu.comsina.com.cn 正则:^(? !baidu).*$  匹配结果就是第2行.也就是第1行被排除了这里使用了零宽度断言(?!exp),注意.我们有一个向前查找的语法(也叫顺序环视)  (?=exp)(?=exp) 会查找exp之前的[位置]假设将等号换成感叹号.就变成了否定语义,也就是说查找的位置的后面

JavaScript正則表達式知识汇总

Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegExp(); 3.RegExp 对象有 3 个方法: 1)test()检索字符串中的指定值,返回值是true或false. var p1=new Reg("e"); document.write(Reg.test("welcome to China!")); 2)exec

正則表達式

一.概述 正則表達式是一种能够用于模式匹配和替换的强有力的工具.其作用例如以下: (1)測试字符串的某个模式.比如,能够对一个输入字符串进行測试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证. (2)替换文本.能够在文档中使用一个正則表達式来标识特定文字,然后能够所有将其删除,或者替换为别的文字: (3)依据模式匹配从字符串中提取一个子字符串. 能够用来在文本或输入字段中查找特定文字. 二.匹配字符 字符 解释说明 \ 将下一字符标记为特殊字符.文本.反向引用或

JAVA学习第六十五课 — 正則表達式

正則表達式:主要应用于操作字符串.通过一些特定的符号来体现 举例: QQ号的校验 6~9位.0不得开头.必须是数字 String类中有matches方法 matches(String regex) 告知此字符串是否匹配给定的正則表達式. regex,就是给定的正則表達式 public static void checkQQ() { //第一位是数字1-9,第二位以后是0-9,除去第一位数剩下数字位数范围是5到8位 String regex = "[1-9][0-9]{5,8}";//正

Python——正則表達式(2)

本文译自官方文档:Regular Expression HOWTO 參考文章:Python--正則表達式(1) 全文下载 :Python正則表達式基础 ====================================================================================== 3.使用正則表達式 如今.我们已经学习了一些简单的正則表達式,但我们应该怎么在Python中使用它们呢?re模块提供了一个连接正則表達式引擎的接口,同意你将RE编译成对象并利

C++ Tr1中的正則表達式

要使用正則表達式,首先要有类库支持,C++曾经不像Java或者C#有完整的类库使用,可是在Tr1中早已提供了正则库,仅仅是非常少被人们注意罢了 TR1中包括了一个正则库,来自Boost的 regex,已经纳入了0x新标准,可是新标准遥遥无期.即便如此,如今非常多编译器也已经支持了,特别是微软,步伐最快! 尽管如今新标准还未全然支持,可是早点了解一下也是好的: #include <iostream> #include <regex> int _tmain(int argc, _TCH

JavaScript使用正則表達式

2.0 简单介绍 正則表達式是能够用来查找与给定模式匹配的文本的搜索模式.比如,在上一章中,我们在一个较长的字符串中查找子字符串Cookbook: var testValue = "This is the Cookbook's test string"; var subsValue = "Cookbook"; var iValue = testValue.indexOf(subsValue); //返回值12.即子字符串的索引 这段代码有效.由于我们要查找一个严格的

c++ 正則表達式

正則表達式是经常使用的一种方法.比較有名的类库是boost,可是这个类库在重了.全部就像找一些轻量级的类库. 后来发现准标准的库tr1已经非常方便了,微软vs2008 sp1 以上版本号都支持了.全部就直接用它非常方便了. 并且支持unicode编码,还是非常方便的. 样例: #include <iostream> #include <string> #include <regex> int _tmain(int argc, _TCHAR* argv[]) { std:

限制字符串输入——正則表達式(VB.NET)

1.概述 在做机房收费系统的时候,差点儿全部的窗口上都存在着文本框或者组合框,当用户进行操作的时候.首先要推断是否为空,然后再对各种属性进行推断,比方;卡号.学号.金额等仅仅能输入数字,有些信息仅仅能输入字母,或者将一些信息的输入设为仅仅能输入数字和字母.举个样例.我们注冊邮箱的时候.就会有一些特定字符的设置: 以下是163邮箱注冊的页面 在我们做机房收费系统时.假设用常规的方法,直接用ASCII码进行设置的话,就感觉有点复杂,如今我们一起来认识认识程序猿必备的七种技能之中的一个的"正則表達式&