正则表达式(RegExp)

1 正则表达式(英语:Regular Expression)

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。

2 什么是正则表达式?

正则表达式是由一个字符序列形成的搜索模式。

当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

正则表达式可以是一个简单的字符,或一个更复杂的模式。

正则表达式可用于所有文本搜索和文本替换的操作。

3 正则表达式的特点是:

灵活性、逻辑性和功能性非常的强;

可以迅速地用极简单的方式达到字符串的复杂控制。

对于刚接触的人来说,比较晦涩难懂。

4  正则表达式声明

-1 通过构造函数定义

var 变量名= new RegExp(/表达式/);

-2 通过直接量定义(较为常用)

var 变量名= /表达式/;

console.log(regexp1.test(345));

console.log(/\d/.test(567));(直接使用)

-3 正则表达式的组成是:(总结)

有一些普通字符和元字符组成,普通字符就是字母和数字,元字符具有特殊意义的字符

5 正则表达式方法

-1 test() 方法

正则对象方法,检测测试字符串是否符合该规则,返回true和false,参数(测试字符串)

使用语法:

Boolean = 表达式.test("要验证的内容");

6 正则内部类

-1 预定义类

[^\n\r] 除了换行和回车之外的任意字符(“”不行)

\d [0-9] 数字字符

\D [^0-9]    非数字字符

\s [ \t\n\x0B\f\r]  空白字符

\S [^ \t\n\x0B\f\r]  非空白字符

\w [a-zA-Z_0-9]  单词字符

\W [^a-zA-Z_0-9]     非单词字符

-2  简单类(正则://中什么特殊符号都不写,和[]的加入)

1、/string/.test(“string”);            必须是完整的,只多不能少

/andy/.test(“andy”) // true

/andy/.test(“andylv”)   // true

/andy/.test(“an”)   // false

一句话,只要完整包含了andy 就可以了(有他就行)

2、/[string]/.test(“string”);    只要包含里面的任何一个就可以

/[andy]/.test("andy");   // true

/[andy]/.test("an"); // true

/[andy]/.test("ady"); // true

/[andy]/.test("anll"); // true

/[andy]/.test("assd"); // true

/[andy]/.test("ss"); // false

/[3aH8]/.test("ss"); // false

-3  负向类(不能是其中的整体或者一部分)

中括号内,前面加个元字符^进行取反,不是括号里面的字符(一部分也不行)。

(可以不够,但是不能多)(不够和正好,返回false;多了或者没有返回true)

console.log(/[^abc]/.test(‘a‘));

console.log(/[^abc]/.test(‘gg‘));

注意:  这个符号 ^  一定是写到方括号里面

-4 范围类

有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线

console.log(/[a-z]/.test(‘1111‘));

console.log(/[A-Z]/.test(‘aa‘));

-5 组合类

用中括号匹配不同类型的单个字符。

console.log(/[a-m1-5]/.test("b"))//true

6 正则边界

^ 会匹配行或者字符串的起始位置

注:^在[]中才表示非!这里表示开始

$ 会匹配行或字符串的结尾位置

^$在一起 表示必须是这个(精确匹配)

// 边界可以精确说明要什么
console.log(/lily/.test("lilyname")); // true
console.log(/^lily$/.test("lily"));  // true
console.log(/^lily$/.test("ly"));   // false

console.log(/^andy$/.test("andy"));  // true

这个的最终意思就是 说, 必须是 andy 这四个字母

7 量词

(多个字母,重复最后一个)

*   (贪婪)   重复零次或更多   (>=0)

+   (懒惰)   重复一次或更多次  (>=1)

?    (占有)   重复零次或一次   (0||1)  要么有 要么没有

{}  重复多少次的意思   可以有多少个

您的银行卡密码只能是 6位      {6}

{n} n次 (x=n)

{n,} 重复n次或更多  (x>=n)

{n,m} 重复出现的次数比n多但比m少 (n<=x<=m)

*     {0,}

+     {1,}

?     {0,1}

x|y    一个 |   x  或者 y(没有&,用的是,代替的)

()提高权限,有限计算

8 replace 函数

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法格式:(返回值是新字符串)

需要匹配的对象.replace(正则式/字符串,替换的目标字符)

正则表达式的匹配模式支持的2个标志

g:表示全局模式(global),即模式将被应用于所有字符串而非发现一个而停止

i:表示不区分大小写(ease-insensitive)模式,在确定匹配想时忽略模式与字符串的大小写

原文地址:https://www.cnblogs.com/autoXingJY/p/9026012.html

时间: 2024-08-30 17:13:13

正则表达式(RegExp)的相关文章

javascript类型系统——正则表达式RegExp类型

× 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法 前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将介绍正则表达式的RegExp对象,以及正则表达式涉及到的属性和方法 对象 javascript中的正则表达式用RegExp对象表示,有两种写法:一种是字面量写法:另一种是构造函数写法 Perl写法 正则表达式字面

ruby 正则表达式Regexp

http://ruby-doc.org/core-2.1.2/Regexp.html Regexp A Regexp holds a regular expression, used to match a pattern against strings. Regexps are created using the /.../ and %r{...} literals, and by the Regexp::new constructor. Regular expressions (regexps

JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义 .     查找单个字符,除了换行和行结束符.\w    查找单词字符.\W     查找非单词字符.\d     查找数字.\D     查找非数字字符.\s     查找空白字符.\S     查找非空白字符.\b     匹配单词边界.\B     匹配非单词边界.\0     查找 NULL 字符.\n     查找换行符.\f     查找换页符.\r   

JavaScript正则表达式-RegExp对象

RegExp对象方法 exec():与String对象的match()方法功能相同. 参数为被搜索字符串.返回数组或null. test():与String对象的search()方法功能相同. 参数为被搜索字符串.返回true或false. RegExp对象实例属性 global:布尔值,表示正则表达式中后缀选项g是否被设置. ignoreCase:布尔值,表示正则表达式中后缀选项i是否被设置. lastIndex:一个整数值,表示下一次匹配开始的位置索引. multiline:布尔值,表示正则

正则表达式REGEXP

REGEXP在列值内进行匹配,只要被匹配的文本在列值中出现,相应行就能被返回,但是like只能匹配整个列 1.1 or匹配 | 为正则表达式的OR操作符,表示匹配其中之一 e.g. select prod_name from products where prod_name REGEXP '1000|2000' 1.2匹配几个字符之一 [] 是另外一种形式的OR语句,[123]匹配字符1.2.3 1.3匹配范围 - 用来定义一个范围 [0-9] 匹配数字0到9:[a-z]匹配26个小写字母 1.

正则表达式RegExp详解(待续)

正则表达式(Regular Expression)是一种描述字符模式的对象,RegExp 对象表示正则表达式,用来验证用户输入. 一,创建正则表达式 1,采用new运算符 var bb=new RegExp('参数字符串','可选模式修饰符') 2,字面量法 var bb=/参数字符串/可选模式修饰符; 模式修饰符参数 i 忽略大小写 g 全局匹配 m 多行匹配 二,RegExp相关方法 test()在字符串中查找指定正则表达式,返回true或false exec()在字符串中查找指定正则表达式

MySQL正则表达式 REGEXP详解

在开始这个话题之前我们首先来做一个小实验,比较一下REGEXP和Like他们两个哪个效率高,如果效率太低,我们就没有必要做过多的研究了,实验的代码如下:<?phpRequire("config.php");//函数:计时函数//用法:Echo Runtime(1);Function Runtime($mode=0){    Static $s;    IF(!$mode){        $s=microtime();        Return;    }    $e=micr

javascript正则表达式RegExp的静态属性之$1-$9

javascript正则表达式是支持分组捕获的,分组的结果会存储在RegExp的静态属性$1-$9中.也就是说当正则表达式中的分组超过9个的时候,RegExp最多只保留9个. // 含10个分组的正则 var regexp = /(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)-(\w)/; var str = 'a-b-c-d-e-f-g-h-i-j-k-l-m-n-o'; //regexp.test(str); regexp.exec(str); fo

正则表达式(RegExp)

Regular Expression,正则表达式,简写为RegExp. BRE :Basic RegExp,基本正则表达式 ERE :Extend RegExp,扩展正则表达式 PCRE :Perl Compatible RegExp,Perl兼容的正则表式 基本正则表达式 字符匹配 匹配次数 位置锚定 位置锚定:定位出现的位置 分组 分组:\(\)将一个或多个字符捆绑在一起,当作一个整体进 行处理,如:\(root\)\+ 分组括号中的模式匹配到的内容会被正则表达式引擎记录于 内部的变量中,这

正则表达式RegExp对象