当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

Merlin的魔力: 用新的正则表达式库解析字符序列[Java编程]

赞助商链接



  本文“Merlin的魔力: 用新的正则表达式库解析字符序列[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

解析情势的文本字符串

正则表达式是按照文本匹配情势的办法 ― 近似于编译器生成类文件的工作原理.编译器在源代码中查找各种情势以便将源代码表达式转换为字节码.通过辨认这些源代码情势,编译器可以只将有效的源代码表示转换为已编译的类文件.

什么是情势?

在正则表达式的上下文中,情势是字符序列的文本表示法.比方,假如您想知道一个字符序列中能否存在 car这个词,您会利用情势 car,因为这是切确地表示该字符串的办法.关于更复杂的情势,您可以利用特别字符作为占位符.假如您不是要搜索 car,而是想搜索以字母 c开首并以字母 r末尾的任何文本字符串,您会利用 c*r情势,此中 *代表第一个 r前的肆意多个字符. c*r情势将匹配任何故 c开首并以 r末尾的字符串,如 cougar、 cavalier或 chrysler.

若何指定情势表达式

情势匹配的主要部份是关于要利用什么样的表达式. Pattern 先保存要利用的表达式,然后将其传送给 Matcher 类以便在字符序列的上下文中查抄其匹配情形.比方,假如您想考证一个电子邮件地址,您大概要查抄用户输入能否与这样一个情势匹配 ― 它包含一个字母数字序列,后跟一个 @ 标记,@ 后又跟两组用句点离隔的字符.这可以用表达式 p{Alnum}+@w+.p{Alpha}{2,3} 来表示.(是的,这过于简化了电子邮件地址的构造,大概会解除某些有效的电子邮件地址,但它作为示例已经充足了.)

在谈论情势语言的具体细节之前,我们来细心看一下 p{Alnum}+@w+.p{Alpha}{2,3} . p{Alnum} 序列表示单个字母数字字符(A 到 Z、a 到 z 或 0 到 9). p{Alnum} 背面的加号(+)被称为 量词(quantifier).它被利用在表达式的前脸部份,表示 p{Alnum} 必须呈现一次或更多次.利用星号(*)表示要呈现零次或一次以上(含一次).@ 就是意味着它必须呈目前至少一个字母数字字符之后,这样整个情势匹配才能成功. w+ 与 p{Alnum}+ 近似,但增添了下划线(_).某些序列有多个表达式.反斜杠( .)代表句点.假如前面没有反斜杠,单独一个句点代表肆意字符.最后的 p{Alpha}{2, 3} 表示两个或三个字母字符.

只要学会了标准语言,您就可以掌握情势的全部奥秘.我们来看一些更常用的表达式的种类:

文字(Literal):表达式内任何不具有特别意义的字符都被看做是一个文字,并与自身匹配.

量词(Quantifier):某些字符或表达式,它们被用来计算一个文字或分组可以在字符序列中呈现的次数,以便该序列与表达式匹配.分组是由圆括号内的一组字符指定的.

? 表示呈现一次或根本不呈现

* 表示呈现零次或一次以上(含一次)

+ 表示呈现一次或多次

字符类(Character class):一个字符类就是方括号内的一个字符集,此中,匹配可以是括号内的肆意一个字符.您可以把字符类与量词结合在一同,比方, [acegikmoqsuwy]* 将是只包含字母表中奇数字母的肆意字符序列.某些字符类是预先定义的:

d ― 数字(0 到 9)

D -- 非数字

s -- 空白字符,如制表符或换行符

S -- 非空白字符

w -- 单字字符(a 到 z、A 到 Z、0 到 9 以及下划线)

W -- 非单字字符(别的肆意字符)


  以上是“Merlin的魔力: 用新的正则表达式库解析字符序列[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Merlin的魔力: SpringLayout管理器
  • Merlin的魔力: Merlin的新I/O缓冲区的输入和输出
  • <b>Merlin的魔力: Java联网加强技术</b>
  • Merlin的魔力: 操练无缺掌握图形显示
  • Merlin的魔力: 格局化数值和钱币
  • Merlin的魔力: 动态事件监听器代理
  • Merlin的魔力: 长期长期性
  • Merlin的魔力: Swing中的声音
  • Merlin的魔力: Swing 的新JFormattedTextField组件
  • <b>Merlin的魔力: J2SE 1.4.2供应两种新的外观筹划</b>
  • Merlin的魔力: 核心,核心,还是核心
  • Merlin的魔力: 字符集
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .