博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则入门
阅读量:6573 次
发布时间:2019-06-24

本文共 946 字,大约阅读时间需要 3 分钟。

简单的了解一下概念:

1、元字符

字符

含义

\b

单词的开头或者结尾,分界处

.

匹配除了换行符以外的任意字符

*

前面的内容连续重复使用任意次,已使整个表达式得到匹配

\d

数字 \d{n} 表示数字必须连续匹配n次

\s

匹配任意的空格符、包括空格,制表符(Tab),换行符,中文全角空格

\w

匹配字母,数字,下划线,汉字

^

字符串的开头

$

字符传的结束

2、字符转义

字符

含义

\

转义字符

3、重复

字符

含义

零到正无穷

+

1到正无穷

?

0到1次

{n}

重复n次

{n,}

重复n到正无穷

{n, m}

重复n到m次

4、字符类

字符

含义

例子

[]

匹配任一个字符的集合

[0-9]匹配0到9任意一个

/\(?0\d{2}[)-]?\d{8}/g 匹配座机号码

5、分支条件

字符

含义

分组匹配,若满足某个条件,则不会继续向下匹配下去

6、分组条件

字符

含义

eg:匹配ip字段(3组255以下数字+.)

()

分组条件

((25[0-5]|2[0-4]\d|[01]?\d{0,2})\.){3}(25[0-5]|2[0-4]\d|[01]?\d{0,2})

7、反义字符

字符

含义

\W

匹配任意不是字母、数字、下划线、汉字的字符

\S

匹配任意非空白符的字符

\B

匹配任意不是单词开头或者结尾的字符

\D

匹配任意不是数据的字符

[^a]

匹配任意除了a以外的字符

[^aeiou]

匹配任意除了aeiou以外的字符

\S+ 匹配非空白开头的非字符串

8、后向引用

重复搜索前面某个分组匹配的文本

分类

语法

说明

捕获

(exp)

匹配exp,捕获文本到自动命名的组里

(?<name>exp)

匹配exp,捕获文本到命名为name的组里

(?:exp)

匹配exp,不捕获匹配的文本,也不给此分组分配组号

零宽断言

(?=exp)

匹配exp前面的分组

(?<=exp)

匹配exp后面的分组

(?!exp)

匹配后面跟的不是exp的分组

(?<!exp)

匹配前面跟的不是exp的分组

任务:

1、用正则实现queryToJson

转载于:https://juejin.im/post/5aea846ef265da0b863614d1

你可能感兴趣的文章
hdu1711 Number Sequence
查看>>
js如何判断一组数字是否连续,得到一个临时数组[[3,4],[13,14,15],[17],[20],[22]];
查看>>
PHP利用memcache缓存技术提高响应速度
查看>>
python 多线程笔记(2)-- 锁
查看>>
EXT--表单AJax提交后台,返回前端数据格式的转换
查看>>
个人作品- 蘑菇大战
查看>>
protobuf使用错误总结
查看>>
Tomcat可以在eclipse里启动,可是不能訪问首页的问题
查看>>
QueryPerformanceFrequency使用方法--Windows高精度定时计数
查看>>
在Linux环境下安装和配置phpmyadmin
查看>>
Co-prime Array&&Seating On Bus(两道水题)
查看>>
该行已经属于另一个表 的解决方法
查看>>
linux下bus、devices和platform的基础模型 【转】
查看>>
如何优雅的使用RabbitMQ
查看>>
js json 对象相互转换
查看>>
jQuery中click事件多次触发解决方案
查看>>
java IO
查看>>
css3中定义required,focus,valid和invalid样式
查看>>
Spark history-server 配置 !运维人员的强大工具
查看>>
Atitit.http httpclient实践java c# .net php attilax总结
查看>>