• 正则表达式


    提供了这样一种机制,我们可以用来从字符串中匹配特定字符串。如今规则表达式已经是一个ISO标准。

    规则表达式是一种内容无关的语法。下面来解释它的一些基本操作符。

    1、字符匹配操作符

    .匹配任何一个字符,如".ord"可以匹配"lord","cord","2ord"等等。

    []匹配任何一个在中括弧中列出的字符。如"[a-z]ord"可以匹配"aord","bord","ford"等等。如果在[]中使用-,就表示某个范围,其前后两个字符号是范围的边界。要在字符类中匹配连字符,那么把连字符号作为第一个字符列出即可。

    [^]匹配任何一个不在中括弧中列出的字符。如"[^ab]ord"可以匹配"cord","dord",但不能匹配"aord","bord"。

    2、重复操作符

    ?匹配任何字符一次,如果这个字符号存在的话。如"?erd"可以匹配"erd","aerd","berd"等等。

    *匹配声明的字符零到多次。如“n.*rd”可以匹配“nerd”,“nrd”,“neard”等等。

    +匹配声明的字符至少一次。如“[n]+erd”可以匹配“nerd”,“nnerd”,但不能匹配“erd”。

    {n}匹配声明的字符n次。如“[a-z]{2}erd”可以匹配“cherd”,“blerd”,etc。但不能匹配“nerd”,“erd”,“buzzerd”。

    {n,}匹配声明的字符至少n次。如“.{2,}erd”可以匹配“cherd”and“buzzerd”,但不能匹配“nerd”。

    {n,m}匹配声明的字符n到m次。如“n[e]{1,2}rd”可以匹配“nerd”and“neerd”。

    3、定位操作符

    ^一行的开始位置

    $一行的结束位置

    <某个单词的开始位置

    >某个单词的结束位置

    某个单词的开始位置或者结束位置

    B某个单词的中间位置

    4、组合操作符

    ()表示()内是几个规则表达式的组合。如“([a]|[]b)erd"匹配"aerd","berd"。

    5、交替操作符

    |匹配|前后两组规则表达式。如“([a]|[b])erd"匹配"aerd","berd"。

    6、保留字

    以下这些字符在规则表达式语法中是有特殊意义的字符,不能被直接当字符来使用。这些字符被称为保留字。

    ^(carat)

    。(period)

    [(leftbracket}

    ](rightbracket}

    $(dollarsign)

    ((leftparenthesis)

    )(rightparenthesis)

    |(pipe)

    *(asterisk)

    +(plussymbol)

    ?(questionmark)

    {(leftcurlybracket,orleftbrace)

    }(rightcurlybracket,orrightbrace)

    ackslash

    如果想使用保留字作为实际字符来使用,需要在该保留字前面加反斜线blackslash()

    在一些unix工具中,一般用正斜杠slash(/)包围所描述的规则表达式,如[A-Z]+(abc|xyz)*/

    某些规则表达式工具或某些语言中还定义了一些转义的字符,比如w代表空白字符,d代表数字,就相当于定义了[]和[0-9]的快捷方式。当使用具体大工具或语言的规则表达式时,要去了解这些特定的定义。

    下面以Java中规则表达式为例,演示如何在Java中使用规则表达式。

    1、匹配字符串是否

    Pattern。mateches("[[0-9]{2}","00");#returntrue

    Pattern。mateches("[[0-9]{2}","a00");#returnfalse

    Pattern。mateches("[[a-z0-9]*","a00");#returntrue

  • 相关阅读:
    MIX11大会WP7主题演讲中文字幕版
    日本战神——源义经
    System.Web.HttpUtility for .Net Compact Framework
    VS2010 SP1
    <如何成为一个成功的职业经理人>读书笔记2
    <左手曾国藩,右手胡雪岩>读书笔记
    <福布斯荐75本经商必读06基业长青>读书笔记
    <中国人聪明之道>读书笔记
    <浮沉>读书笔记
    <79个潜规则:改变生活的心理学法则>读书笔记
  • 原文地址:https://www.cnblogs.com/hjyxbfz/p/7526078.html
Copyright © 2020-2023  润新知