java匹配中文汉字的正则表达式
正则表达式匹配中文先要了解中文的编码
代码如下 复制代码
[u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符
[u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
代码如下 复制代码
String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
知道它了我们就好解决了
代码如下 复制代码
public static void regxChinese(){
// 要匹配的字符串
String source = "<span title='5 星级酒店' class='dx dx5'>";
// 将上面要匹配的字符串转换成小写
// source = source.toLowerCase();
// www.111cn.net 匹配的字符串的正则表达式
String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]
*class='[a-z]*[\s|\S]*[a-z]*[0-9]*'";
Pattern p = Pattern.compile(reg_charset);
Matcher m = p.matcher(source);
while (m.find()) {
System.out.println(m.group(1));
}
}
public static void regxChinese(){
// 要匹配的字符串
String source = "<span title='5 星级酒店' class='dx dx5'>";
// 将上面要匹配的字符串转换成小写
// source = source.toLowerCase();
// 匹配的字符串的正则表达式
String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]
*class='[a-z]*[\s|\S]*[a-z]*[0-9]*'";
Pattern p = Pattern.compile(reg_charset);
Matcher m = p.matcher(source);
while (m.find()) {
System.out.println(m.group(1));
}
}
Java的正则表达式是可以匹配中文字符的,同时,用中文字符来写表达式也是可以的
代码如下 复制代码
String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*星级酒店)'[\s|\S]*class='[a-z]*[\s|\S]
*[a-z]*[0-9]*'";
String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*星级酒店)'[\s|\S]*class='[a-z]*
[\s|\S]*[a-z]*[0-9]*'";
一些常用的正则匹配规则
匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用
更多详细内容请查看:http://www.111cn.net/jsp/Java/46105.htm
java匹配中文汉字的正则表达式的更多相关文章
- 匹配中文字符的正则表达式: [/u4e00-/u9fa5]
原文:匹配中文字符的正则表达式: [/u4e00-/u9fa5] 这里是几个主要非英文语系字符范围(google上找到的): 2E80-33FFh:中日韩符号区.收容康熙字典部首.中日韩辅助部首.注音 ...
- java获取中文汉字的所有拼音
java获取中文汉字的所有拼音 中文汉字可能有很多读音,java中分别用1,2,3,4来区别,例如“作”字,就有三个读音,zuo1,zuo2,zuo4. java获取汉字读音拼音代码如下所示: S ...
- java匹配中文的正则表达式
[\u4E00-\u9FA5]* public static void regxChinese(){ // 要匹配的字符串 String source = "<span title=' ...
- PHP正则匹配中文汉字注意
preg_match('/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u', $str) 如上,是匹配字母或者汉字的,一定要在后面加模式修饰符 u , 不然就出错! u (PCRE_UT ...
- 关于 jsp java servlet 中文汉字乱码的解决方法
在servlet类中的get,post最前面加上 req.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding(&quo ...
- java html中文汉字 反转义
import org.apache.commons.lang.StringEscapeUtils; public class EscapeHtml { /** * @param args */ pub ...
- PHP正则匹配中文汉字会得到�
preg_match('/^[a-zA-Z\x{4e00}-\x{9fa5}]+$/u', $str)
- (转载)常用正则表达式大全!(例如:匹配中文、匹配html)
正则匹配java注意点: 如果加 ^[\n]* 表示替换遇到 \n 的前后内容,如果加[\n]表示替换\n本处内容 原文地址:http://blog.csdn.net/dl020840504/arti ...
- 常用正则表达式大全!(例如:匹配中文、匹配html)
一.常见正则表达式 匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注 ...
随机推荐
- Android下结束进程的方法
转自:http://www.cnblogs.com/crazypebble/archive/2011/04/05/2006213.html 最近在做一个类似与任务管理器的东西,里面有个功能,可以通过这 ...
- Hash Table构建
get-item e:\test\* |format-table @{name="aa";expression={$_.name.tostring().split(".& ...
- GB2312 Unicode转换表实现跨平台utf8转码unicode
在GSM模块中,为发送中文短信,采用pdu发送,需要unicode编码.源程序编辑软件将中文转化为GB2312编码,再下列的GB2312 Unicode转换表转为unicode. 实现2维数值,GB2 ...
- Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...
- C++11 新特性之 Lambda表达式
lambda表达式能够用于创建并定义匿名的函数对象,以简化编程工作 Lambda的语法例如以下: [函数对象參数](操作符重载函数參数)->返回值类型{函数体} []内的參数指的是Lambda表 ...
- Haproxy+MYSQL 负载均衡 原创
[root@monitor app1]# yum install haproxy Loaded plugins: security : epel | : epel/primary_db | : ext ...
- 图形化管理debian服务
bootupmanager这个软件 ,用着勉强吧, 功能不多. 安装 sudo apt-get install bum 卸载sudo apt-get remove --purge bum 多了不说 , ...
- Java中的DeskTop类
在Jdk1.6以后新增加了一个类--DeskTop,在JDK中它的解释是这样的: The Desktop class allows a Java application to launch a ...
- c语言函数传递数组
1.传递数组,打印不出来 #include <stdio.h> void solve() { printf(]); } int main() { int i; ;i<n;i++) { ...
- IDL中File_Search函数用法详解(转)
来自:http://blog.sina.com.cn/s/blog_764b1e9d01014ajp.html 在利用IDL进行批处理时,通常用到file_search函数进行输入路径文件的搜索,现根 ...