正则表明式内容

正则表达式常用内容,正则表达式内容

常用元字符
代码 说明
. 匹配除换行符以外的任意字符
w 匹配字母或数字或下划线或汉字
s 匹配任意空白字符
d 匹配数字
b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
常用限定符
代码 说明
* 重复零次或多次
+ 重复一次或多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n-m次
通配符(.)

使用”.”可以匹配任何字符,如果要匹配”.”本身,那么需要使用转义字符来取消”.”的特殊意义,如”.”
来匹配”.”

Task    Text     
Match    cat.    Success
Match    896.    Success
Match    ?=+.    Success
Skip    abc1

Pattern: ....

 

匹配特定字符

使用”[]”可以将需要匹配的特定字符放在方括号中进行匹配,如:只匹配a,b,c,那么可写成[abc]

Task    Text     
Match    can    Success
Match    man    Success
Match    fan    Success
Skip    dan    To be completed
Skip    ran    To be completed
Skip    pan

Pattern: [cmf]an

 

排除特定字符

使用方法和上面的”[]”类似,只是在字符前加上”“,以表示之后的这些字符是排除匹配的。如:[abc]表示除了a,b,c之外的任何字符都可以进行匹配。

Task    Text     
Match    hog    Success
Match    dog    Success
Skip    bog

Pattern: [^b]og

澳门十大电子游戏平台, 

字符范围

如果要匹配的字符太多,那我们并不需要将所有字符都像上面一样全部列出来,只需用”-“将范围表示出来。[0-6]表示只匹配0-6的数字,[^n-p]表示不匹配n-p的任何字符。”w”等价于[A-Za-z0-9_]

Task    Text     
Match    Ana    Success
Match    Bob    Success
Match    Cpc    Success
Skip    aax    To be completed
Skip    bby    To be completed
Skip    ccz

Pattern: [A-C]

 

重复

如果我们要匹配的相同字符有好几个,使用”www”就显得有点麻烦,所以可以通过下面这种方法来匹配多个字符的情况,如:有3个”a”要匹配,则直接用a{3}表示即可。a{1,3}重复1-3次,[wxy]{5},w/x/y
任意一个字符重复5次,.{2-6}则表示任意字符重复2-6次

Task    Text     
Match    wazzzzzup    Success
Match    wazzzup    Success
Skip    wazup

Pattern: waz{2}

 

“*”: 重复0次或者多次 “+”: 重复1次或者多次

Task    Text     
Match    aaaabcc    Success
Match    aabbbbc    Success
Match    aacc    Success
Skip    a

Pattern: a*b*c+

 

“?”: 重复零次或一次

Task    Text     
Match    1 file found?    Success
Match    2 files found?    Success
Match    24 files found?    Success
Skip    No files found.    To be completed

Pattern: [0-9]+ files? found?

 

匹配空白符

“s” 可以匹配任意的空白符

Task    Text     
Match    1.   abc    Success
Match    2.    abc    Success
Match    3.           abc    Success
Skip    4.abc    To be completed

Pattern: d.s+abc

 

匹配行起始/结束字符

“^”: ^abc 匹配以abc开头的字符 “$”: abc$ 匹配以abc结束的字符

Task    Text     
Match    Mission: successful    Success
Skip    Last Mission: unsuccessful    To be completed
Skip    Next Mission: successful upon capture of target    To be completed

Pattern: ^Mission:

 

匹配组

“()” 将要匹配的内容放在()中

Task    Text    Capture Groups     
Capture    file_record_transcript.pdf    file_record_transcript    Success
Capture    file_07241999.pdf    file_07241999    Success
Skip    testfile_fake.pdf.tmp        To be completed

Pattern: ^(file_w+)

 

嵌套分组

“(())” 将多个组进行嵌套匹配

Task      Text    Capture Groups     
Capture    Jan 1987    Jan 1987 1987    Success
Capture    May 1969    May 1969 1969    Success
Capture    Aug 2011    Aug 2011 2011    Success

Pattern: ^(w+s(d+))

 

多个分组组合
Task    Text    Capture Groups
Capture    1280x720    1280 720    Success
Capture    1920x1600    1920 1600    Success
Capture    1024x768    1024 768    Success

Pattern: (d+)w(d+)

 

增加可读性
Task    Text     
Match    I love cats    Success
Match    I love dogs    Success
Skip    I love logs    To be completed
Skip    I love cogs

Pattern: I love (cats|dogs)
Pattern: ([cd]ats*|[dh]ogs?)

 

练习
Task    Text     
Match    3.14529    Success
Match    -255.34    Success
Match    128    Success
Match    1.9e10    Success
Match    123,340.00    Success
Skip    720p    To be completed

Pattern: ^-?d+(,d+)*(.d+(ed+)?)?$
Capture    415-555-1234    415    Success
Capture    650-555-2345    650    Success
Capture    (416)555-3456    416    Success
Capture    202 555 4567    202    Success
Capture    4035555678    403    Success
Capture    1 416 555 9292    416    Success

Pattern: 1?s?(?(d{3}))?[s-]?d{3}[s-]?d{4}
Task    Text    Capture Groups     
Capture    [email protected]    tom    Success
Capture    [email protected]    tom.riddle    Success
Capture    tom.riddle+[email protected]    tom.riddle    Success
Capture    [email protected]    tom    Success
Capture    [email protected]    potter    Success
Capture    [email protected]    harry    Success
Capture    hermione+[email protected]    hermione    Success

Pattern: ^([w.]*)
Task    Text    Capture Groups     
Capture    <a>This is a link</a>    a    Success
Capture    <a href='https://regexone.com'>Link</a>    a    Success
Capture    <div class='test_style'>Test</div>    div    Success
Capture    <div>Hello world</div>    div    Success

Pattern: <(w+)*
Task    Text    Capture Groups     
Skip    .bash_profile        To be completed
Skip    workspace.doc        To be completed
Capture    img0912.jpg    img0912 jpg    Success
Capture    updated_img0912.png    updated_img0912 png    Success
Skip    documentation.html        To be completed
Capture    favicon.gif    favicon gif    Success
Skip    img0912.jpg.tmp        To be completed
Skip    access.lock        To be completed

Pattern: (w+)(.)(jpg|png|gif)$
Task    Text    Capture Groups     
Capture                The quick brown fox...    The quick brown fox...    Success
Capture       jumps over the lazy dog.    jumps over the lazy dog.    Success

Pattern: ^s*(.*)s*$
Task    Text    Capture Groups     
Skip    W/dalvikvm( 1553): threadid=1: uncaught exception        To be completed
Skip    E/( 1553): FATAL EXCEPTION: main        To be completed
Skip    E/( 1553): java.lang.StringIndexOutOfBoundsException        To be completed
Capture    E/( 1553):   at widget.List.makeView(ListView.java:1727)    makeView ListView.java 1727    Success
Capture    E/( 1553):   at widget.List.fillDown(ListView.java:652)    fillDown ListView.java 652    Success
Capture    E/( 1553):   at widget.List.fillFrom(ListView.java:709)    fillFrom ListView.java 709    Success

Pattern: .+(w+)+((w+.w+)+:(d+))
Pattern: (w+)(([w.]+):(d+))
Task    Text    Capture Groups     
Capture    ftp://file_server.com:21/top_secret/life_changing_plans.pdf    ftp file_server.com 21    Success
Capture    https://regexone.com/lesson/introduction#section    https regexone.com    Success
Capture    file://localhost:4040/zip_file    file localhost 4040    Success
Capture    https://s3cur3-server.com:9999/    https s3cur3-server.com 9999    Success
Capture    market://search/angry%20birds    market search    Success

Pattern: (w+)://([w.-]+)(:(d+))?

 

常用元字符
代码 说明 . 匹配除换行符以外的任意字符 w 匹配字母或数字或下划线或汉字
s 匹配任…

标签:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图