正则表明式内容
2019年12月23日
0 Comments
正则表达式常用内容,正则表达式内容
常用元字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
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 匹配任…