当前位置:萝卜系统 > 硬件软件教程 > 详细页面

Java正则表达式的详细说明

Java正则表达式的详细说明

更新时间:2023-06-21 文章作者:未知 信息来源:网络 阅读次数:

根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。

java正则表达式概念_java正则表达式?=.*_java正则表达式详解

Java正则表达式的详细说明. 如果您曾经使用过Perl或任何其他具有内置正则表达式支持的语言,则必须知道使用正则表达式处理文本和匹配模式有多么容易. 如果您不熟悉此术语,则“正则表达式”是一个字符串,它定义用于搜索匹配字符串的模式. 许多语言,包括Perl,PHP,Python,JavaScript和JScript,都支持使用正则表达式来处理文本,并且某些文本编辑器使用正则表达式来实现高级的“搜索替换”功能. Java呢?在撰写本文时,已经识别了包含使用正则表达式进行文本处理的Java规范请求,您可以期望在下一版JDK中看到它. 但是,如果您现在需要使用正则表达式怎么办?您可以从Apache.org下载开源的Jakarta-ORO库. 本文的其余部分简要介绍了正则表达式的介绍,然后以Jakarta-ORO API为例介绍如何使用正则表达式. 1.正则表达式的基本知识让我们从一个简单的词开始.

假设您要搜索包含字符“ cat”的字符串,则用于搜索的正则表达式为“ cat”. 如果搜索不区分大小写,则单词??“ catalog”,“ Catherine”和“ sophisticated”都可以匹配. 也就是说: 500)this.style.width = 500;“ border = 0> 1.1期间符号假设您正在玩英文拼字游戏java正则表达式详解,并且想要找到三个字母的单词,并且这些单词必须是“ t”字母,它以字母“ n”. 另外,假设有一本英语词典,您可以使用正则表达式搜索其所有内容. 要构造此正则表达式,可以使用通配符-句点符号“. ”. 完整的表达式是“ tn”,它匹配“ tan”,“ ten”,“ tin”和“ ton”,还匹配“ t#n”,“ tpn”甚至“ tn”,以及许多其他意义.

java正则表达式概念_java正则表达式详解_java正则表达式?=.*

这是因为句点符号与所有字符匹配,包括空格,制表符和偶数换行符: 500)this.style.width = 500;“ border = 0> 1.2方括号符号以解决句点符号匹配范围太宽,您可以在方括号(“ []”)中指定看似有意义的字符. 这时,匹配中仅包含方括号中指定的字符. 即,正则表达式“ t仅匹配“ tan”,“ Ten”,“ tin”和“ ton”,但“ Toon”不匹配,因为您只能匹配方括号内的单个字符: 500)this.style.width = 500;“ border = 0> 1.3“或”符号如果除了上面匹配的所有单词之外还要匹配“卡通”,则可以使用“ |”操作员. “ |”的基本含义运算符是“或”运算.

要匹配“卡通”,请使用“ t(a | e | i | o | oo)n”正则表达式. 此处不能使用方括号符号,因为方括号仅允许匹配一个字符. 此处必须使用括号“()”. 括号也可以用于分组,请参阅后面的介绍. 500)this.style.width = 500;“ border = 0> 1.4”表示匹配数量的符号表显示了表示匹配数量的符号. 这些符号用于确定紧接在该符号左侧的符号的数量符号出现: 500).style.width = 500;“ border = 0>假设我们要在文本文件中搜索美国号. 该号码的格式为999-99-9999. 用于匹配它的正则表达式如图1所示. 在正则表达式中,连字符(“-”)具有特殊含义,它表示一个范围,例如从0到9. 因此,在社交代码中匹配连字符时安全号码,必须在前面加上转义字符“”. 500)this.style.width = 500;“ border = 0>图1: 全部匹配123-12 -1234号假定在搜索时,您希望出现或不出现连字符-即999- 99-9999和999999999的格式正确.

java正则表达式概念_java正则表达式详解_java正则表达式?=.*

这时,您可以添加“?”连字符后面的数量限制符号java正则表达式详解,如图2所示: 500)this.style.width = 500;“ border = 0>”图2: 匹配所有123-社会安全号码,格式为12-1234和123121234下面是另一个示例. 美国汽车牌照的一种格式是四位数字加两个字母,其正则表达式前面带有数字部分“ [0-9] {4}”和字母部分“ [AZ] {2} “. 图3显示了完整的正则表达式. 500)this.style.width = 500;” border = 0>图3: 匹配典型的美国汽车牌照号,例如8836KV1.5“否”符号“ ^”符号称为“否”符号. 如果在方括号中使用,则“ ^”表示您不想匹配的字符. 例如,图4中的正则表达式匹配所有单词,但以字母“ X”开头的单词除外. 500)this.style.width = 500;“ border = 0>”图4: 匹配所有单词,但以“ X”开头的单词除外1.6括号和空格假定为生日,格式为“ 1951年6月26日” “提取了月份部分,用于匹配日期的正则表达式可以显示在图5中: 500)this.style.width = 500;” border = 0>图5: 出现与所有Moth DD,YYYY格式匹配的日期“ s”符号是一个空白符号,与所有空白字符(包括Tab字符)匹配.

如果字符串正确匹配,接下来如何提取月份部分?只需在一个月左右添加一个括号即可创建一个组,然后使用ORO API(本文稍后将详细讨论)来提取其值. 修改后的正则表达式如图6所示: 500)this.style.width = 500;“ border = 0>图6: 以DD,YYYY格式匹配所有日期,将月份值定义为第一组1.7其他为了简单起见,您可以使用为常用正则表达式创建的一些快捷方式符号. 如表2所示: 表2: 常用符号500)this.style.width = 500;“ border = 0>例如,在最前面的社会中在安全号码示例中,只要出现“ [0-9]”,我们都可以使用“ d”. 修改后的正则表达式如图7所示: 500)this.style.width = 500;“ border = 0>图7: 匹配所有123-12-1234格式的号. 2. Jakarta-ORO库有很多Java程序员可以使用的开放源代码正则表达式库,其中许多都支持Perl 5兼容性. 正则表达式语法.

java正则表达式概念_java正则表达式?=.*_java正则表达式详解

我在这里选择了Jakarta-ORO正则表达式库,它是最全面的正则表达式API之一,它与Perl 5正则表达式完全兼容. 此外,它也是最佳的最佳API之一. Jakarta-ORO库以前称为OROMatcher,Daniel Savarese慷慨地将其提供给Jakarta Project. 您可以按照本文末尾参考资源中的说明进行下载. 我将首先简要介绍使用Jakarta-ORO库时必须创建和访问的对象,然后介绍如何使用Jakarta-ORO API. ▲PatternCompiler对象首先,创建Perl5Compiler类的实例,并将其分配给PatternCompiler接口对象. Perl5Compiler是PatternCompiler接口的实现,允许您将正则表达式编译为Pattern对象以进行匹配. 500)this.style.width = 500;“ border = 0>▲Pattern对象需要将正则表达式编译为Pattern对象,调用编译器对象的compile()方法,并在调用参数中指定正则表达式

例如,您可以按以下方式编译正则表达式“ tn”: 500)this.style.width = 500;“ border = 0>默认情况下,编译器创建区分大小写的Pattern因此,以上代码编译的模式仅匹配“ tin”,“ tan”,“ ten”和“ ton”,而不匹配“ Tin”和“ taN”. 要创建不区分大小写的模式,应指定一个调用编译器时的附加参数: 500)this.style.width = 500;“ border = 0>创建Pattern对象后,可以通过PatternMatcher类使用Pattern对象进行模式匹配. ▲PatternMatcher对象PatternMatcher对象根据Pattern对象和字符串执行匹配检查. 您需要实例化一个Perl5Matcher类,并将结果分配给PatternMatcher接口.

java正则表达式概念_java正则表达式?=.*_java正则表达式详解

Perl5Matcher类是PatternMatcher接口的实现. 它根据Perl 5正则表达式语法执行模式匹配: 500)this.style.width = 500;“ border = 0>使用PatternMatcher对象,可以使用多种方法进行匹配操作,这些方法的第一个参数是根据正则表达式需要匹配的字符串: ·布尔匹配(字符串输入,模式模式): 当输入字符串和正则表达式要完全匹配时使用,换句话说,正则表达式必须完全描述输入字符串·布尔值matchesPrefix(字符串输入,模式模式): 当正则表达式与输入字符串的开头匹配时使用·布尔包含(字符串输入,模式模式): 当正则表达式用于匹配字符串的一部分时输入字符串(即它必须是子字符串). 此外,在上述三个方法调用中,还可以使用PatternMatcherInput对象作为参数而不是String对象;这时,您可以继续匹配从字符串中最后一个匹配项的位置开始.

当一个字符串可能有多个子字符串与给定的正则表达式匹配时,将PatternMatcherInput对象用作参数很有用. 当使用PatternMatcherInput对象而不是String作为参数时,上述三种方法的语法如下: ·布尔匹配(PatternMatcherInput输入,模式模式)·布尔MatchPrefix(PatternMatcherInput输入,模式模式)·布尔包含(PatternMatcherInput输入,模式模式)疯狂Java简介疯狂Java是广州市微雪教育技术(原广州捷途教育技术)的品牌. 它是由李刚先生和肖文吉先生共同创建的. 作为专注于javaEE和3G / 4G技术的培训服务机构,Crazy Java Java秉承“软件强国”的理想,并决心以务实的技术改变中国的软件教育. 以“十年之剑”的心态构建中国最强大的Java学习系统.

疯狂的Java培训讲座疯狂的Java发布了“疯狂的Java讲座”,“疯狂的Android讲座”,“轻量级JavaEE企业应用程序实用程序”,“疯狂的Ajax讲座”,“疯狂的XML讲座”,“经典的JavaEE企业应用程序”实用”,“ Struts2.1权威指南”,“ RubyOnRails敏捷开发最佳实践”,“ Crazy Java打破了程序员的基本技能16课”,“ Crazy JAVA已成为编程大师16课”等书. 其中,疯狂的Java系统书籍都是广受欢迎的书籍,已在市场上获得广泛认可,并已多次转载,并被许多大学选作教材. 一些书籍已被翻译成繁体中文并出口到台湾. Crazy Java开发概述Crazy Java紧跟IT的尖端技术,展望这一趋势,引领行业基准,并开创了IT教育和培训的新世界. 它被称为新的IT教育的“黄埔军校”. 疯狂的Java教育中心主要面向大学生和准大学生进行长期就业培训,针对企业员工的定制内部培训,针对在职工程师的短期高端培训以及针对企业级应用程序的产品开发. 其的服务和质量承诺赢得了客户的广泛赞誉. 为了确保服务质量,学校与华南理工大学,中山大学,暨南大学,华南师范大学等高等教育机构的教师建立了合作关系. 与中国电信,中国移动,中国邮政,新华南,汇丰银行等进行了合作. 知名企业建立了广泛的战略合作伙伴关系.

疯狂的Java老师疯狂的Java创始人李刚和疯狂的Java精英讲师团队肖文吉,李汉飞,黄勇,陈慧和其他老师一起,将“异常”的疯狂带给了大多数学习者. 疯狂的Java培训功能疯狂的Java结合了自己的特征并打破了固有的思维方式. 在结合实战,系统化和知识转化的概念体系的指导下,重点在于如何将培训内容真正转化为实践经验,以提高工作能力. 达到. 在Crazy Software College中,学生通过参与企业的实际项目开发来应用所学知识,从而获得实践项目经验. 凭借其强大的教师,一流的课程,真实的项目和较高的就业率,大多数南方学生已经成功地走上了软件工程师的职业道路. 大量的失业学生已经通过疯狂的Java获得了工作. 加入疯狂的Java,加入改变世界的力量,让我们一起行动,用自己的代码改变世界!地址: 广州市天河区车北大港路4号丰宏大厦3011(车北地铁D出口(或BRT车北站),过马路左转走200米)电话: 020-28309358,28309378 java技术问题请咨询QQ: 951170790


本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-264555-1.html



温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html