`
Black_Kite
  • 浏览: 6926 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

正则表达式

1.var re = new RegExp("cat","g");

2.var re = /cat/gi;

注:i——忽略大小写;g——全局匹配;m——匹配多行

 

RegExp的方法

1.test()——找到匹配返回true,否则返回false

   var s = "aacat";

   var re = /cat/;

   alert(re.test(s));  //返回true

2.exec()——在字符串中搜索,并把匹配结果用一个数组返回

   var s = "a bat, a cat, aa";

   var re = /at/;

   var r = re.exec(s);  //只返回第一个at

 

String的方法

1.match()——类似于exec,返回存放匹配结果的整个数组

2.search()——返回匹配项在字符串中的位置索引,没有返回-1

3.replace()——将匹配替换成指定字符串

   var dt = '12-01-2007';

   dt.replace(/^(\d{2})-(\d{2})-(\d{4})^/,'$3$2$1');  //返回20070112

注:replace的第二个参数可以是函数,该函数可以接受一个参数,该参数是匹配了前面正则的文本

4.split()——将字符串分割成一系列字串并通过一个数组将他们返回

   var s = "red,blue,yellow,green";

   var re = /\,/;

   var a = s.split(re);

注:后两个是扩展字符串的常用方法

 

元字符

()[{\^$|)?*+.  需要用\来转义

 

字符类

1.简单类 /bac/

2.负向类 /[^ac]/

3.范围类 /[a-v]/

注:JavaScript不支持联合类和交叉类,如[a-m[p-z]] [a-m[^b-e]]

 

预定义类

. [^\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]——非单词字符

 

量词

?——出现零次或一次

*——出现零次或多次

+——出现一次或多次

{n}——定出现n次

{n,m}——至少出现n次但不超过m次

{n,} ——至少出现n次

 

贪婪的、惰性的和支配性的量词

1.贪婪量词——先看整个字符串是否匹配。如果没有匹配,则去掉字符串的最后一个字符,并再次尝试匹配。直到发现一个匹配,或者字符串不剩任何字符。

——所有量词自身都是贪婪的 ?

2.惰性匹配——先看字符串中第一个字符是否匹配,如果不匹配则在读入下一个字符。直到发现一个匹配或者整个字符串都没有匹配

——所有量词后面加上?是惰性的 ??

3.支配量词——只尝试匹配整个字符串,若不匹配则不再尝试。

——所有量词后面加上+是支配性的 ?+

 

例子:

var s = "abbbaabbbaaabbb1234";

var r1 = /.*bbb/g;

var r2 = /."?bbb/g;

var r3 = /.*+bbb/g;

注:惰性量词的工作方式和贪婪相反;很多浏览器不支持支配量词。

 

分享到:
评论

相关推荐

    js正则学习

    js正则学习,详细分析出正则,常见的正则 表达式

    JS正则表达式基础学习

    ### JS正则表达式基础学习知识点详解 #### 正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们完成各种复杂的字符串搜索、替换等操作。在JavaScript中,正则表达式广泛应用于数据验证、文本处理等多...

    基于js正则 匹配实现的物流地址智能识别【javascript】

    js正则 基于js正则匹配实现的物流地址智能识别 智能识别地址 例如:小埋13000000000广东省广州市天河区体育西路xx号 一键解析地址为: 收货人:小埋 电话:1300000000 省市区:广东省广州市天河区 地址:体育西路...

    javascript正则表达式综合练习

    JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    JavaScript正则表达式迷你书

    本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和编程等方面深入讲解了JavaScript正则表达式的相关知识,适合需要进行字符串匹配、提取、验证等操作的读者学习。 第1章介绍了正则表达式字符匹配的...

    js正则练习-账号密码邮箱匹配

    在JavaScript(JS)中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作。在“js正则练习-账号密码邮箱匹配”的场景中,我们需要编写正则表达式来验证用户输入的账号、密码和邮箱是否符合特定的...

    JavaScript正则表达式使用详解.zip

    总的来说,JavaScript正则表达式是一门深奥但强大的技术,通过学习和实践,我们可以更有效地处理和操纵字符串。这些资料将提供丰富的学习材料,帮助开发者提升在文本处理方面的能力。无论是初学者还是经验丰富的...

    js正则表达式资料

    以上内容涵盖了JavaScript正则表达式的基础和进阶知识点,对于理解和使用JavaScript正则表达式进行文本处理和验证等任务非常有帮助。通过深入学习和实践,你可以掌握这一强大的工具,提升你的编程技能。

    精通 JS正则表达式

    精通JS正则表达式的知识点详解 ...总之,精通JavaScript正则表达式不仅能够提高字符串处理的能力,还能让代码更加高效和优雅。通过对正则表达式的学习和实践,开发者可以轻松地解决各种字符串操作问题,提升编程效率。

    JavaScript正则表达式学习

    JavaScript正则表达式学习,PPT教程. 30分钟让你学会使用正刚表达式

    jq非空验证,js正则表达式验证邮箱和手机号码

    JavaScript正则表达式是用于匹配字符串模式的强大工具。在验证邮箱和手机号码时,我们需要创建符合特定规则的正则表达式。对于邮箱验证,通常的正则表达式如下: ```javascript var emailRegex = /^[a-zA-Z0-9._%...

    javaScript正则表达式帮助文档

    JavaScript正则表达式是编程语言JavaScript中的一个重要组成部分,它用于处理文本字符串,执行模式匹配和查找、替换等操作。在JavaScript中,正则表达式是一种强大的工具,可以帮助开发者进行复杂的数据验证、文本...

    Java JS正则表达式大全

    **Java与JavaScript正则表达式详解** 在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,尤其在处理字符串匹配、查找、替换和提取等任务时,它的功能尤为强大。Java和JavaScript虽然源自不同...

    JS正则表达式葵花宝典

    深入学习正则表达式,不仅可以提高你在处理字符串时的效率,还能使代码更加简洁和高效。在JavaScript中,熟练掌握正则表达式可以极大地提升你的编程能力。"JS正则表达式葵花宝典"中的内容应该包括了这些关键知识点,...

    JS 正则验证表单

    通过以上讨论,我们可以看到JavaScript正则表达式在表单验证中的强大作用。理解并熟练掌握正则表达式的使用,不仅能够提高我们的编程效率,还能确保应用程序的数据质量,从而为用户提供更好的体验。在实际开发中,...

    关于js正则表达式学习笔记(自己整理的)

    JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割文本。它们在编程中扮演着不可或缺的角色,尤其在验证用户输入、提取数据、格式化内容等方面。以下是对正则表达式的基础知识和常见用法的详细...

    JS正则表达式入门笔记实例

    JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割等操作。这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和...

Global site tag (gtag.js) - Google Analytics