Blog

浅谈正则表达式

在开发过程中,最经常打交道的数据类型就属字符串了,我们经常要对字符串做各种各样的处理,其中最常做的就是字符串的比较,比较匹配的情况多种多样,非常麻烦,在开发过程中,我感觉到正则表达式为解决这个问题提供非常方便的处理方式。 正则表达式在网络上众说纷纭,我取一个感觉最为合理的解释:正则表达式是对字符串操作的一种逻辑公式,用事先定义好的特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2. 可以通过正则表达式,从字符串中获取我们想要的特定部分,所以正则表达式在搜索字符串上拥有很强大的作用。 正则表达式的特点是:1. 灵活性、逻辑性和功能性非常的强;2. 可以迅速地用极简单的方式达到字符串的复杂控制。3. 对于刚接触的人来说,比较晦涩难懂。 正是正则表达式强大的功能特点,所以获得大量的计算机语言的支持:PHP、C#、Java、C++、VB、Javascript、Ruby以及python等。Java在jdk1.4中加入了java.util.regex包提供对正则表达式的支持。而且Java.lang.String类中的replaceAll和split函数也是调用的正则表达式来实现的。 由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word等大型编辑器,都可以使用正则表达式来处理文本内容。 正则表达式可以说是由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,可以说好的正则表达式没有不用上元字符的,但也因为元字符的灵活,让初学者感到有点晕头转向。 下面列出部分正则表达式的元字符和描述。 \       转义字符。如,“n”匹配字符“n”。“\n”匹配一个换行符。 ^      匹配输入字符串的开始位置。^也匹配“n”或“r”之后的位置。 $      匹配输入字符串的结束位置。$也匹配“n”或“r”之前的位置。 *       匹配前面的子表达式零次或多次。如,zo*能匹配“z”以及“zoo”。*等价于{0,}。 +      匹配前面的子表达式一次或多次。+等价于{1,}。 ?       匹配前面的子表达式零次或一次。如,“d(s)?”可以匹配“ds”或“ds”中的“d”。 {n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。 x|y   匹配x或y。例如,“z|food”能匹配“z”或“food”。 \d    匹配一个数字字符。等价于[0-9]。 \w   匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。 \W   匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

Words translated by CCJK

146,096,379

Request a call or contact us

  •  

    Call ccjk.support for professional assistance

  •  

    Click Here to leave us a message and be as detailed as possible.

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00
  •  
    Inquiry Form

    Please take few minutes to fill
    inquiry form and get Free Quote

  •  
    Request a Call

    Click to receive Free Call, Our
    Representative will contact you

  •  
    Leave a Message

    Please leave us a message and
    be as detailed as possible

Over 95% of our clients recommend our language services to others


Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP