常见正则表达式

正则表达式(RegExp:regular expression):一种用特殊符号编写的模式,描述一个或多个文本字符串。最适合用来搜索和操纵文本字符串。如,检查输入是否是邮箱。

简单列举常用的RegExp中特殊字符如下:

字     符

匹       配

\

在字面意义和特殊意义之间进行切换

^

字符串的开头

$

字符串的结尾

*

零次或多次

+

一次或多次

零次或一次

.

除换行符外的任何字符

\b

单词边界

\B

非单词边界

\d

0~9的任何数字(与[0-9]相同)

\D

任何非数字

\f

换页符(form feed)

\n

换行符

\r

回车符

\s

任何一个空白字符(与[ \f\n\r\t\v]相同)

\S

任何一个非空白字符

\t

制表符

\v

垂直制表符

\w

任何字符、数字以及下划线(与[a-zA-Z0-9]相同)

\W

除数字、字母及下划线外的其他字符

\xnn

十六进制数字nn定义的ASCII字符

\onn

八进制数字nn定义的ASCII字符

\cX

控制字符X

[abcde]

与其中任何字符匹配的字符集

[^abcde]

字符补集,与其中任何字符都不匹配的字符集

[a-e]

与其中的字符范围匹配的字符集

[\b]

退格字符的字面意义(不同于\b)

{n}

前面的字符正好出现n次

{n,}

前面的字符至少出现n次

{n,m}

前面的字符出现n~m次

()

一个组,可以在后面引用它

x|y

x或y

正则表达式修饰符

修饰符

含   义

g

搜索所有的匹配(全局),不只是第一处匹配

i

进行不区分大小写的搜索

示例:

验证输入邮箱地址是否正确:re= /^\w+([\.-]?\w+)*@\w+ ([\.-]?\w+)*(\.\w{2,3})+$/;

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java成长之路

六、jvm之如何判断对象已死?

在堆里面几乎存放中Java程序运行所动态生成的所有对象,垃圾回收器在对堆进行回收前,第一件事情就是要确定这些对象之中还有哪些存活,哪些已经死去(即不可能再被任何...

502
来自专栏有趣的Python

慕课网-Linux C语言结构体-学习笔记

Linux C语言结构体 编译指令:预处理,宏定义, 建立自己的数据类型:结构体,联合体,动态数据结构 逻辑运算符:& | ^ ~ << >> 递归函...

4088
来自专栏诸葛青云的专栏

C语言位运算的妙用你知道多少?

位运算在驱动开发中是经常遇到的,尤其是置0和置1。既要指定的位数发生变化,又不能改变其它位的值,还要高效率的编写代码,这时候技巧就很重要了。在位运算中有几个符号...

904
来自专栏开发与安全

c/c++基础零散补充

一、C语言的指针与数组、结构体里的成员数组和指针、传入传出参数、回调函数、头文件包含 指针的本质都只是一个内存地址,如果是多字节变量,则是其内存首地址(低地址...

1916
来自专栏猿人谷

不用加减乘除做加法

题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。 分析: 第一步:不考虑进位对每一位相加。0加0、1加1的结果都是0,0加1...

2057
来自专栏java学习

Java基础第二天学习笔记

02.01_Java语言基础(常量的概述和使用)(掌握) * A:什么是常量 * 在程序执行的过程中其值不可以发生改变 * B:Java中常量的分类 * ...

3105
来自专栏用户画像

C语言测试题

2. 假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面式子:

805
来自专栏有趣的Python

3-Linux C语言结构体-学习笔记

将#include <stdio.h>中stdio.h展开,将未注释的内容直接写入.i文件。

921
来自专栏数据结构与算法

BZOJ4245: [ONTAK2015]OR-XOR(前缀和)

因为最终答案是xor之后or,所以分开之后之后这样位上1的数量是一定是偶数,否则直接加到答案里面

461
来自专栏技术碎碎念

LeetCode-66-Plus One

Given a non-negative number represented as an array of digits, plus one to the n...

3156

扫码关注云+社区