正则表达式的学习1基础学习

正则表达式的学习

1.什么是正则表达式?正则表达式是使用单个字符串,匹配一系列符合某个句法规则的字符串。

1.正则表达式中的一些特殊代码,也叫元字符。

\b  : 代表着但系的开头或者是结尾,作为单词的分界处

e.g.:正则表达式h i 会匹配到包含有hi两个连续字母的单词,像history him 而如果加上\b 使正则表达式变成\bhi\b那么就只会匹配到hi这个单词 (这句话我暂时还不能理解是什么意思)

.  : (英文半角句号) 匹配除了换行符以外 的任意字符

e.g.:正则表达式\ba.\b 匹配以 前边一个字符是a后边是一个除了换行符以外的任意字符的字符串,像aa、 ab、a_、a+ 这些都可以匹配到。

\d : 匹配一个数字(0-9)

e.g.:正则表达式0\d\d\d\d\9 匹配以0开头 以9结尾的 一串6个字符串的数字串,中间的四个数字可以是0-9 中的任意的数字,像 056789  043629等等

\w: 匹配字母或者数字或者下划线

e.g. :正则表达式 \w\w\w\w 匹配任意的四个字母数字下划线,像中文中的成语:或者是main void 这种四个字母的单词,或者是:6_a  b6这种杂交的类型

\s : 匹配任意的空白字符

匹配数量的来几个

*(星号) :重复0次或者多次

e.g.:正字表达式  a\d*匹配以字符a开头,后面跟着0个或者多个数字的字符串 a, a1,a123456都是符合条件的

+ :重复1次或者是多次 正则a\d+ 匹配的是以a开头,后边跟着1个或者是多个数字的  a1,a12233都是符合条件的 但是a就不符合条件了因为至少一个数字

? :重复0次 或1次   a\d? 匹配的是以字符a开头,后边跟着0个或一个数字的字符串  eg . a,a0

{n} :重复n次

比如我们的身份证一般来说是18位数字(实际上是复杂得多现在只是举一个例子),那么我们可以用\d{18}来匹配。

{n,} :重复n次或者是更多次

{n,m}: 重复n到m次 (最少重复n次 最多重复m次)

e.g.。QQ号的账号要求是5到12位,所以就可以用正则表达式\d{5,12} 来匹配

[]的使用:

[abcdef]这个正则表达式匹配abcdef中其中一个字母,【,?!】这个表达式匹配里边三个标点符号中的其中一个,我们也可以指定一个范围,【0-9】匹配0-9这个区间任何一个数字(包括0和9) [a-z]这里就是匹配a到z这区间任何一个数字 然后这几个区间组合在一起就是【0-9a-zA-Z】就是匹配这整个区间的其中一个字符或者是数字、

分支条件

我们的电话号码有两种形式,020-88899999  (020)88899999 要让这两种形式的写法都可以匹配我们就要写两种形式的正则表达式 匹配020-88899999就可以写成0\d{2}-\d{8}  匹配 (020)88899999就可以用(0\d{2})\d{8}来表示,如果要使用这两个正则表达式来匹配一个字符串那么就要用到或符号来链接他们 就可以写成0\d{2}-\d{8}|(0\d{2})\d{8}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CaiRui

Mysql-6-数据类型和运算符

1.mysql数据类型 (1)数值数据类型:包括整数类型tinyint、smallint、mediumint、int、bigint,浮点小数类型float和do...

18110
来自专栏柠檬先生

Java 基础标识符

标识符: 程序员为自己定义的类,方法或者变量等起的名称。     标识符由大写字母,数字,下划线(_)和美元符号组成,但不能以数字开头。 Java 语言中严格区...

2145
来自专栏机器学习从入门到成神

关于Java中==与equals的解析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

730
来自专栏Pythonista

re 正则模块

就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译...

781
来自专栏逆向技术

C语言第八讲,指针*

            C语言第八讲,指针* 一丶简单理解指针 说到指针,很多人都说是C语言的重点. 也说是C语言的难点. 其实指针并不是难.而是很多人搞不清地...

3746
来自专栏http://www.cnblogs.com

python3 re模块

一.常用正则表达式符号和语法: '.' 匹配所有字符串,除\n以外 ‘-’ 表示范围[0-9] '*' 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 ...

48112
来自专栏前端桃园

JavaScript核心概念(1):类型转换

看到这个是不是有一种想打人的感觉,垃圾 JavaScript,这特么都什么鬼,相信很多人不管是笔试还是面试,都被 JS 的类型转换难道过,相信认真看完我这篇文章...

825
来自专栏我的博客

PHP数组知识汇总

1.建立数组array() 2.array array_chunk ( array input, int size [, bool preserve_keys]...

3265
来自专栏欧阳大哥的轮子

C++运算符重载详解

C++语言的一个很有意思的特性就是除了支持函数重载外还支持运算符重载,原因就是在C++看来运算符也算是一种函数。比如一个 a + b 的加法表达式也可以用函数的...

2793
来自专栏和蔼的张星的图像处理专栏

64. 合并排序数组 II 三指针+从后向前

合并两个排序的整数数组A和B变成一个新的数组。 注意事项 你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。 样例 给出A =...

1231

扫码关注云+社区

领取腾讯云代金券