正则表达式的字符,定位字符和重复字符

正则表达式的字符,定位字符和重复字符

正则表达式语法表示的字符类

字符类 匹配的字符 示例

\d 从0~9的数字 \d\d可以匹配72,但不能匹配7a或者a7

\D 非数字的字符 \D\D\D可匹配a%c,但不能匹配123

\w 下划线和单词字符 \w\w\w可以匹配a2_,但不能匹配x&a

\W 非单词字符和非下划线 \W\W可以匹配&^,但不能匹配a1

\s 空白符,包括了制表符,换行符,回车符,换页符和垂直制表符

\S 非空白符

. 任意字符

[...] 括号内的任意字符

[abc]匹配单个字符a,b或c,但不匹配其他字符

[a-z]匹配a~z的任意字符

[^...] 非括号内的任意字符

[^abc]匹配a,b,c出外的任意字符

[a-z]匹配非a~z的任意字符,但匹配大字字母

定位字符

定位字符 描述

^

其后的模式必须在字符串的开始处,如果是一个多行字符串,应位于任意一行的开始。对于多行文本,需要设定multiline标志

$ 其前面的模式必须在字符串的末尾处,如果是一个多行字符串,应该在任意一行的末尾

\A 前面的模式必须在字符串的开始处;多行标志被忽略

\z 前面的模式必须在字符串的末尾处;多行标志被忽略

\Z 前面的模式必须在字符串的末尾;或位于换行符前

\b 匹配一个单词边界,是指上是单词字符和非单词字符间的点。单词字符是[a-zA-Z0-9]中的任意字符。位于一个单词的开始

\B 匹配一个非但此边界的位置,不再一个单词的开始

基本的重复字符

重复字符 含意 示例

{n} 匹配前面的字符n次 x{2}匹配xx,但是不匹配x,或xxx

{n,} 匹配前面的字符n次或更多 x{2,}匹配xx或xxx及更多的x,

{n,m} 匹配前面的字符最少n次,最多m次 x{2,4}匹配xx,xxx,xxxx但是不匹配x,或xxxxx

匹配前面的字符0次或1次 x?匹配x或空

+ 匹配前面的字符1次或更多 x+匹配x或等多的x

* 匹配前面的字符0次或更多 x*匹配空或更多x

{n,m}

正则表达式的字符,定位字符和重复字符

正则表达式语法表示的字符类

字符类 匹配的字符 示例

\d 从0~9的数字 \d\d可以匹配72,但不能匹配7a或者a7

\D 非数字的字符 \D\D\D可匹配a%c,但不能匹配123

\w 下划线和单词字符 \w\w\w可以匹配a2_,但不能匹配x&a

\W 非单词字符和非下划线 \W\W可以匹配&^,但不能匹配a1

\s 空白符,包括了制表符,换行符,回车符,换页符和垂直制表符

\S 非空白符

. 任意字符

[...] 括号内的任意字符

[abc]匹配单个字符a,b或c,但不匹配其他字符

[a-z]匹配a~z的任意字符

[^...] 非括号内的任意字符

[^abc]匹配a,b,c出外的任意字符

[a-z]匹配非a~z的任意字符,但匹配大字字母

定位字符

定位字符 描述

^

其后的模式必须在字符串的开始处,如果是一个多行字符串,应位于任意一行的开始。对于多行文本,需要设定multiline标志

$ 其前面的模式必须在字符串的末尾处,如果是一个多行字符串,应该在任意一行的末尾

\A 前面的模式必须在字符串的开始处;多行标志被忽略

\z 前面的模式必须在字符串的末尾处;多行标志被忽略

\Z 前面的模式必须在字符串的末尾;或位于换行符前

\b 匹配一个单词边界,是指上是单词字符和非单词字符间的点。单词字符是[a-zA-Z0-9]中的任意字符。位于一个单词的开始

\B 匹配一个非但此边界的位置,不再一个单词的开始

基本的重复字符

重复字符 含意 示例

{n} 匹配前面的字符n次 x{2}匹配xx,但是不匹配x,或xxx

{n,} 匹配前面的字符n次或更多 x{2,}匹配xx或xxx及更多的x,

{n,m} 匹配前面的字符最少n次,最多m次 x{2,4}匹配xx,xxx,xxxx但是不匹配x,或xxxxx

匹配前面的字符0次或1次 x?匹配x或空

+ 匹配前面的字符1次或更多 x+匹配x或等多的x

* 匹配前面的字符0次或更多 x*匹配空或更多x

{n,m}


相关内容

  • 形式语言与自动机的关系
  • 形式语言与自动机的关系研究 新疆师范大学数理信息学院数学03-6班 摘要: 形式语言的直观意义,自动机的直观意义,形式语言的定义, 形式语言的特征,语法的分类,自动机的定义,自动机的分 类,各种自动机的定义,形式语言和自动的的关系,自动机 的对语言的例子 基本关键词: 形式语言的定义:自动机的定义: ...

  • PHP V5.2 中的新增功能,第 2 部分: 使用新输入过滤扩展功能
  • 本文是共有五部分的系列文章的第二部分,我们将继续介绍 PHP V5.2 的新增功能,本文主要介绍输入过滤. 接受用户输入或来自不受信任来源的任何其他数据是 PHP开发人员在开发应用程序时可能承担的最常见风险之一.您经常需要引入来自未知来源的数据以使应用程序运行,但是这就给黑客提供了插入任意代码或以其 ...

  • 词法分析小结
  • 词法分析是编译器工作的第一阶段,它的工作就是从输入(源代码)中取得token,以作为parser(语法分析)的输入,一般在词法分析阶段都会把一些无用的空白字符(white space,即空格、tab和换行)以及注释剔除,以降低下一步分析的复杂度,词法分析器一般会提供一个gettoken()这样的方法 ...

  • js正则表达式
  • 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字 •根据模式匹配从字符串中提取一个子字符串. ...

  • php正则表达式
  • /** *描述字符串的自定义规则:分割,匹配,替换,能用字符串处理函数完成的就不要使用正则. *通过构建特定模式,与字符串比较,然后处理. *1.是个字符串. *2.有具有特殊意义的字符组成. *3.具有编写规则,是种模式 *4.可以看做是一种编程语言. *5.正则表达式放在函数中使用才能发挥作用. ...

  • 正则表达式不包含属性
  • iOS中使用正则表达式NSRegularExpression 来验证textfiled输入的内容 一个正则表达式(regexp)是由元字符和文字数字的文本字符,或者"文字的("abc,123,及其他)混合组合而成的文本模式. 该类型用于匹配文本字符--并附有匹配的结果,是成功还是 ...

  • BAT及各大互联网公司2014前端笔试面试题
  • #2.JavaScript的数据类型都有什么?基本数据类型:String,boolean,Number,Undefined, Null引用数据类型:Object(Array,Date,RegExp,Function)那么问题来了,如何判断某变量是否为数组数据类型?方法一.判断其是否具有"数 ...

  • 网络内容安全过滤
  • 信息安全综合实践设计报告 题 目: 姓 名: 班级学号: 指导教师: 完成日期: 网络内容安全过滤系统 01 02 05 22 27 2015年11月6日 一.设计任务与要求 任务:设计针对邮件.网页以及文件进行过滤的软件. 功能要求: (1)对文本内容.url .网址.ip 进行过滤: (2)可以 ...

  • sscanf(函数)
  • sscanf 名称: 名称 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: 函数原型 Int sscanf( string str, string fmt, mixed var1, mixed var2 ... ); int scanf( const char *form ...