正则表达式:什么,何时以及如何

时间:2011-02-21 16:13:31

标签: regex

我想知道正则表达式的用法是什么,何时以及如何使用它们。

请举例说明。

1 个答案:

答案 0 :(得分:1)

维基百科文章:Regular Expression

  

正则表达式在语法高亮系统,数据验证和许多其他任务的制作中非常有用。

     

虽然正则表达式在Google等搜索引擎上很有用,但在整个数据库中处理正则表达式可能会消耗过多的计算机资源,具体取决于正则表达式的复杂性和设计。虽然在许多情况下系统管理员可以在内部运行基于正则表达式的查询,但大多数搜索引擎都不向公众提供正则表达式支持。值得注意的例外情况:Google Code SearchExalead

实施例

当你读完这篇文章后,你就会熟悉基本的合成语,这样你就会知道\d元字符匹配一个数字。事实上,匹配数字似乎是在regularrexpressions中最常用的元字符之一。如果我们将它们与其他人结合起来,我们可以匹配相当复杂的日常场景:

  1. 匹配单个数字:

    \d
    
  2. 匹配几个连续数字(至少一个)

    \d+
    
  3. 匹配包含5到9位数字的数字:

    \d{5,7}
    
  4. 匹配24小时时间表示:

    (?:[01]?\d|2[0123]):[0-5]\d
    

    (?: )代表一个子正则表达式,它不会被保存(因为它中有?:),这个子表达式表示匹配的字符串应该是之一:

    • [01]?\d表示0或1 可能存在(因此问号)后跟任何单个数字;这部分匹配这些:0,00,1,01,... 0,09,10,...... 19
    • 或者可能是2[0123],匹配20,21,22和23

    然后我们有一个:(冒号)和两个数字,其中第一个可能是0到5,第二个可以是任何单个数字,它匹配00,01,... 09之间的所有数字, 10,......到59

    第一部分代表小时,第二部分代表分钟,24小时时间表示法,即0:00,00:24,2:34,08:47或17:08。

  5. 我希望你能得到这个想法,并且理解它并不太复杂。