正则使用从0开始学习(一)

来源:互联网 发布:经典相声 知乎 编辑:程序博客网 时间:2024/06/08 04:14

一、元字符
“^” :^字符串的起始位置。

$$会匹配字符串的结尾

文本: hello world!正则: ^hello w

结果:

文本:hello world正则:ld$

结果:

“\b” :不会消耗任何字符只匹配一个位置,例子中匹配出is所在的位置

文本:this is a test正则:\bis\b

效果图:

“\d”: 匹配数字

文本:1362228888正则:\d\d\d

效果图:

“\w”:匹配字母,数字,下划线.

文本:hello_136_zw正则:\w

效果图:

“\s”:匹配空格

文本:hello zw正则:\s

效果图:

“.”:匹配除了换行符以外的任何字符

文本:hello zw正则:.

效果图:

“[abc]”: 字符组 匹配包含括号内元素的字符

文本:hello zw正则:[hllo]

效果图:

“\W” 匹配任意不是字母,数字,下划线 的字符

“\S” 匹配任意不是空白符的字符

“\D” 匹配任意非数字的字符

“\B” 匹配不是单词开头或结束的位置

“[^abc]” 匹配除了abc以外的任意字符

文本:hellozw正则:[^hllo]

效果图:

重复次数匹配:

“*”(贪婪) 重复零次或更多

aaaaaaaa => a*

“+”(懒惰) 重复一次或更多次

aaaaaaaa => a+

“?”(占有) 重复零次或一次

aaaaaaaa => a?

“{n,m}” 重复n到m次

aaaaaaaa => a{1,6}

“{n,}” 重复n次或更多次

aaaaaaaa => a{1,}

懒惰限定符
“*?” 重复任意次,但尽可能少重复

文本:acbacbbc正则:a.*?b

效果图:

“(?=xxx)” 匹配xxx前面的位置

文本:How are you doing正则:.*?(?=ing)匹配结果: How are you do
原创粉丝点击