`

java 中文 匹配(转)

 
阅读更多

匹配中文字符的正则表达式: [\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*$) 

 

应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: 

 

String.prototype.trim = function() 

return this.replace(/(^\s*)|(\s*$)/g, ""); 

 

利用正则表达式分解和转换IP地址: 

 

下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序: 

 

function IP2V(ip) 

re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式 

if(re.test(ip)) 

return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 

else 

throw new Error("Not a valid IP address!") 

 

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下: 

 

var ip="10.100.20.168" 

ip=ip.split(".") 

alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1)) 

 

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 

 

匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)? 

 

利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见本贴回复] 

 

var s="abacabefgeeii" 

var s1=s.replace(/(.).*\1/g,"$1") 

var re=new RegExp("["+s1+"]","g") 

var s2=s.replace(re,"") 

alert(s1+s2) //结果为:abcefgi 

 

这个方法对于字符顺序有要求的字符串可能不适用。 

 

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1 

 

s="http://www.9499.net/page1.htm" 

s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2") 

alert(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,´´))" 

 

用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,´´) "onbeforepaste="clipboardData.setData(´text´,clipboardData.getData(´text´).replace(/[^\d]/g,´´))" 

 

用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,´´) "onbeforepaste="clipboardData.setData(´text´,clipboardData.getData(´text´).replace(/[^\d]/g,´´))"

分享到:
评论

相关推荐

    java汉字转拼音(全拼和首字母)

    在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化或文本处理等领域。本篇文章将深入探讨如何使用Java实现汉字转拼音的功能,包括获取汉字的全拼和首字母。 首先,我们需要理解...

    模糊匹配算法java实现

    Java作为一种流行的编程语言,提供了丰富的库和工具来实现各种模糊匹配算法。本篇将深入探讨如何使用Java实现模糊匹配,并介绍一些核心的概念和技术。 首先,我们要理解模糊匹配的基本原理。模糊匹配是指在两个字符...

    java 中文转换拼音

    在Java编程语言中,中文字符转换为拼音是一个常见的需求,特别是在处理中文文本的搜索、语音合成或者数据分析等场景。这个给定的压缩包文件“languageConvert”可能包含了一个实现此功能的Java程序,使得开发者能够...

    iObjects Java 实现中文地址匹配

    本示例聚焦于SuperMap iObjects Java 9D的中文地址匹配功能,这是一个针对中国特有的地名和地址结构优化的解决方案。 首先,`iObjects Java`是SuperMap提供的一套全面的Java API,允许开发者在Java环境中集成和扩展...

    Java实现中文转拼音.rar

    总结来说,“Java实现中文转拼音.rar”提供的工具类是一个便捷的Java解决方案,它能够帮助开发者将中文汉字转换为拼音。通过解压并运行`PinyinTest`,你可以快速验证其功能并集成到自己的项目中,为处理中文文本带来...

    中文地址分词及匹配项目

    标题中的“中文地址分词及匹配项目”是一个专注于处理中文地址的系统,它涉及到两个主要技术:中文地址的分词和地址匹配。分词是将连续的文本序列切分成具有独立意义的词语,而在中文环境下,由于没有明显的空格作为...

    java汉字笔画排序源码

    Java汉字笔画排序是一种在处理汉字时按照汉字的笔画数量进行排序的技术。这个主题主要涉及到计算机科学中的数据结构和算法应用,特别是排序算法。在中文环境中,有时我们需要按照汉字的笔画数量来对汉字进行排序,这...

    多模式匹配算法(支持中文多关键字匹配)

    经典的WM算法的源代码,原先就在csdn...经过改进之后,可以完美的支持中英文混合的多模式匹配,而且支持从文件中读取样本数据以及模式数据,经过测试相当的快。4MB的中文2000条关键字,只需0.1秒左右的时间,赞一个!!

    java中文分词之正向最大匹配法实例代码

    中文分词应用很广泛,网上也有很多开源项目,下面这篇文章主要给大家介绍了关于java中文分词之正向最大匹配法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

    Java实现分词(正向最大匹配和逆向最大匹配)两种方法实现

    本文介绍了Java环境下实现中文分词的两种常用算法:正向最大匹配法和逆向最大匹配法。这两种方法各有优缺点,在实际应用中可以根据具体需求选择合适的分词策略。此外,通过加载词典和设置最大匹配长度等方式,可以...

    java汉字转拼音

    在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化(SEO)或者构建基于拼音的排序和搜索功能时。本教程将详细讲解如何在Java中实现这一功能,并提供一个DEMO示例。 首先,我们...

    Java简体繁体转换.rar

    本资源"Java简体繁体转换.rar"提供了一个基于Java的解决方案,用于进行简体中文到繁体中文的转换,以及繁体到简体的转换。以下是关于这个主题的详细知识: 1. **Java语言基础**:Java是一种广泛使用的面向对象的...

    java汉字转拼音的代码

    综上所述,`java汉字转拼音的代码`是一个实用的工具,尤其对于处理中文数据时。通过理解其工作原理和使用方法,我们可以方便地在Java项目中集成这一功能。不过,为了获得更好的效果和更广泛的汉字覆盖,推荐使用成熟...

    Java正则表达式面试题解析:探索复杂匹配规则与高效字符串处理

    Java正则表达式是用于文本匹配的模式,由特定的语法组成,如字符类、量词、分组和边界匹配。它们在字符串处理中用来搜索、提取、替换符合特定模式的文本。 2. **如何在Java中进行正则匹配?** 使用`Pattern`和`...

    JAVA编写的基于文本相似度匹配的文本聚类

    在Java中,我们可以使用开源的分词库,如Stanford CoreNLP或者IK Analyzer等,它们提供了丰富的分词功能,可以处理中文、英文等多种语言。分词后的结果将作为后续分析的基础。 接下来,我们计算TF-IDF值来衡量每个...

    JAVA汉字转换成简拼

    在Java编程语言中,汉字转换成简拼是一项常见的文本处理任务,主要应用于搜索优化、数据录入简化、关键词匹配等方面。标题中的"JAVA汉字转换成简拼"指的是利用特定的算法或库,将汉字转化为对应的汉语拼音首字母组成...

    Java 汉子转拼音

    本文将深入探讨Java中实现汉字转拼音的方法,重点介绍Pinyin4j库及其使用技巧。 Pinyin4j是一个专门为Java设计的开源库,它提供了强大的功能,能够方便地将汉字转换为对应的拼音表示。这个库由Barry De Zeger开发,...

    java 正向匹配算法分析

    ### Java正向最大匹配算法分析 在自然语言处理(NLP)领域,中文分词是一项基础而关键的技术,用于将连续的中文字符序列切分成具有语义意义的词汇单位。正向最大匹配算法(FMM,Forward Maximum Matching)是中文...

    java汉字转拼音配置文件及jar.zip

    Java汉字转拼音技术是计算机处理中文文本时常用的一种方法,特别是在搜索引擎优化、语音识别、文本分析等领域有着广泛的应用。这个名为"java汉字转拼音配置文件及jar.zip"的压缩包包含了一个实现汉字到拼音转换的...

    Java实现的最大匹配法统计词频

    最大匹配法(MaxMatch,MM)是一种常用的分词算法,尤其适用于中文分词。本篇文章将深入探讨如何使用Java实现最大匹配法来统计词频,并基于提供的Eclipse工程进行详细解析。 最大匹配法分为前向最大匹配和后向最大...

Global site tag (gtag.js) - Google Analytics