文档章节

正则表达式

一拳超人
 一拳超人
发布于 2016/06/23 09:24
字数 545
阅读 13
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

\b 匹配字符串里hi 可以过滤him等词 例如\bhi\b。
. 匹配除了换行符以外的任意字符
* 指定他前面的字符可以使用任意次数
.* 表示匹配除了换行符之外的字符任意次 例如:\bhi\b.*\bLucy\b
\d 匹配一位数字 例如:012-26602565 0\d\d-\d\d\d\d\d\d\d\d
注意:0\d{2}-\d{8} 匹配省略写法 {}里的数字 表示重复多少次


\s 匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
\w 匹配字母或数字或下划线或汉字等。
\ba\w*\b 匹配以字母a开头的单词——先是某个单词开始处(\b),
然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。
\d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,
不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。
注意:* 和 + 的区别
^ 匹配字符串的开头
$ 匹配字符串结尾
^\d{5,12}$ 匹配 5到12位数的QQ号码

注意:字符转义;
如果你想超找元字符本身,那么就需要转义。例如:\. \* 等
查找\ 就得用 \\
字符类:
\d匹配数字和[0-9]意思是一样的
[a-z0-9A-Z_]也完全等同于\w(如果只考虑英文的话)。

复杂\(?0\d{2}[) -]?\d{8} 可以匹配
(010)88886666,或022-22334455,或02912345678等
解析:首先是一个转义字符\(,它能出现0次或1次(?),然后,
是一个0,后面跟着2个数字是一个0,
后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,
它出现1次或不出现(?),最后是8个数字(\d{8})

| 分支匹配
0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种,
以连字号分隔的电话号码

向后引用 \1
\b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, 或者kitty kitty。
注意:\1代表分组1匹配的文本

© 著作权归作者所有

一拳超人
粉丝 12
博文 36
码字总数 8353
作品 0
孝感
后端工程师
私信 提问

暂无文章

如何更改iOS应用程序的名称?

我前几天用一个愚蠢的开发代码名称开始了一个iPhone项目,现在我想改变项目的名称,因为它已经接近完成了。 但是我不知道如何使用Xcode来做这件事,尝试在info.plist文件中更改应用程序的名称...

技术盛宴
26分钟前
3
0
关于win10tensorflow的配置(CPU+GPU)

主要内容 CPU篇 GPU篇 【前期准备与注意事项】 环境:window1064位+python36(37)+CUDA9.0+cuDNN7.6+tensorflow_gpu-1.12.0 软件:anaconda+pycharm 硬件:有nvidia显卡的笔记本或台式(非A...

放只虎归个山
34分钟前
2
0
C#中的多行字符串文字

有没有一种简单的方法可以在C#中创建多行字符串文字? 这是我现在所拥有的: string query = "SELECT foo, bar"+ " FROM table"+ " WHERE id = 42"; 我知道PHP有 <<<BLOCKBLOCK; C#是......

javail
42分钟前
4
0
微信支付之小微商户扫盲!支持信用卡,免营业执照!

微信支付商户申请面向线下小微商户开放,符合条件的微信支付服务商可为小微商户发起接入申请。无需营业执照。 小微商户日收款额度为5万元~30万元 。 信用卡支付日限额为1千;月限额1万。 结算...

吴伟祥
今天
4
0
大话SDWebImage(三)-- 图片下载层

四、图片下载层 SDWebImageDownloader是处理图片下载的类 4.1 图片下载步骤 首先介绍下dispatch_barrier,GCD中的dispatch_barrier目的是在并发队列实现串行的效果,创建下载任务SDWebImageD...

aron1992
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部