正则表达式一些表达的字符0.1

正则表达式

1.什么是正则表达式?

正则表达式就是一个字符串
是一个用来对字符串进行处理的一个特殊的字符串
可以简化字符串的处理

匹配 equals matches
截取 substring
替换 replace
切割 split

2.正则表达式的组成

a.字符    必须
b.数量    可选
c.分组    可选

3.正则表达式的字符

        任何一个字符都可以是正则表达式的字符
[abc]   表示一个字符,a或者b或者c
(b|d|rt) 表示一组字符 b或者的或者rt
[a-z]   表示任意一个小写字母
[A-Z]   表示任意一个大写字母
[0-9]   表示任意一个数字
[1-5]   表示1~5这5个数字中的某一个
[a-zA-Z0-9] 表示所有的字母和数字中的某一个
[a-m&&[h-z]] 等价于[h-m]
[^bcd]   除开abcd以外的所有字符中的一个
[ae-z]
[a-zA-Z_0-9] 所有的单词字符
预定义的字符
.   一个任意字符
\d  数字,等价于[0-9]
\D  非数字等价于[^0-9]
\w  所有的单词字符,等价于[a-zA-Z_0-9]
\W  非单词字符
\s  空白字符 空格 \t \r \n
\S  非空白字符

4.字符的数量词

用来表示字符要出现的次数
{5,10} 表示最少5次,最多10次
{5,}  表示最少5次,无上限
{5}    表示必须5次
?       表示0次或一次
*       表示0次或多次
+       表示1次或多次



案例
x[abc]{5,10}y
x[abc]?y   可以匹配 xay  xby  xcy  xy
x[abc]+y   不能匹配 xy
            可以匹配 xabcabcy
x[abc]*y    可以匹配 xy
            可以匹配 xabcabcy



案例:
写一个用来验证邮箱是否合法的正则表达式
xxx@xxx.xxx
\w+@\w+\.\w+

xxx@xxx.xxx.xx
\w+@\w+(\.\w+){1,2}

5.懒惰性数量词和贪婪性数量词

{5,10}? 5个到10个,但尽可能少
??  0个或者1个,但尽可能少
*?  0个或者多个,但尽可能少
+?  1个或者多个,但尽可能少

{5,10}+ 5个到10个,但尽可能多
?+  0个或者1个,但尽可能多
*+  0个或者多个,但尽可能多
++  1个或者多个,但尽可能多


案例
    abcdbcd
    a[a-z]+?d



需要从一个字符串中提取出需要的内容
从以下url网址中提取出域名
http://www.baidu.com/a/b/c.html?key=123&n=abc
http://www.qq.com/a/b/c.html?key=123&n=abc
http://www.csdn.net/a/b/c.html?key=123&n=abc


//判断一个字符串是不是合法的url
xxxx://xxx.aaa.aa/xx/x/xx/xx?xx=xx&xx=xx
xxxx://xxx.aaa.aa
xxxx://xxx.xx

\w+://\w+(.\w+)+.*
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值