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

本文共 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

你可能感兴趣的文章
linux设备驱动第四篇:以oops信息定位代码行为例谈驱动调试方法
查看>>
redis知识点整理
查看>>
Hello World
查看>>
Spring3全注解配置
查看>>
ThreadLocal真会内存泄露?
查看>>
IntelliJ IDEA
查看>>
低版本mybatis不能用PageHeper插件的时候用这个分页
查看>>
javaweb使用自定义id,快速编码与生成ID
查看>>
[leetcode] Add Two Numbers
查看>>
elasticsearch suggest 的几种使用-completion 的基本 使用
查看>>
04-【MongoDB入门教程】mongo命令行
查看>>
字符串与整数之间的转换
查看>>
断点传输HTTP和URL协议
查看>>
redis 数据类型详解 以及 redis适用场景场合
查看>>
mysql服务器的主从配置
查看>>
巧用AJAX技术,通过updatePanel控件实现局部刷新
查看>>
20140420技术交流活动总结
查看>>
SaltStack配置salt-api
查看>>
各种情况下block的类型
查看>>
ThinkPHP 3.2.x 集成极光推送指北
查看>>