首页 web前端 js教程 javascript-正则表达式

javascript-正则表达式

Jul 20, 2017 pm 02:08 PM
学习 正则 表达式

From:
 
测试正则的网站:
 
 
修饰符:
  1. g:global全文搜索,不添加,搜索到第一个匹配停止。

  2. i:ignore case 忽略大小写,默认大小写敏感。

  3. m:multiple lines 多行搜索。

  4. lastIndex:当前表达式匹配内容的最后一个字符的下一个位置

  5. source:正则表达式的文本字符串

 
正则表达式有2种基本字符类型组成:
  1. 原义文本字符(比如:abc)

  2. 元字符(比如:\b)。元字符是正则表达式中有特殊含义的非字母字符 (.*+?^.|\(){}[])

 
元字符:
  1. \t:水平制表符

  2. \v:垂直制表符

  3. \n:换行符

  4. \r:回车符

  5. \0:空字符

  6. \f:换页符

 
字符类:
  1. [abc]:构建一个简单的类(比如:'a1b2c3d4'.replace(/[abc]/g,'X') =》X1X2X3d4)

  2. [^abc]:取反

 
范围类:
  1. [a-z]:从a到z的任意字符,包含a和z。(比如:'a1b2c3d4aa'.replace(/[a-z]/g,'X') =》X1X2X3X4XX)

  2. [a-zA-Z]:在[]组成的类内部可以连写的。

  3. [a,z]:分割('12345678'.replace(/[1,3]/g,'A') =》A2A45678)

 
预定义类:
  1. .:除了回车符和换行符之外的所有字符([^\r\n])

  2. \d:数字字符([0-9])

  3. \D:非数字字符([^0-9])

  4. \s:空白符([\t\n\x0B\f\r])

  5. \S:非空白符([^\t\n\x0B\f\r] )

  6. \w:单词字符,包含字符、数字、下划线([a-zA-Z_0-9])

  7. \W:非单词字符([^a-zA-Z_0-9 ])

 
边界匹配字符:
  1. ^:以xxx开始('@123@abc@a'.replace(/^@./g,'X') =》X23@abc@a)

  2. $:以xxx结束('@123@abc@a'.replace(/@.$/g,'X') =》@123@abcX)

  3. \b:单词边界

  4. \B:非单词边界

 
量词:
  1. ?:出现0次或1次

  2. +:出现1次或多次

  3. *:出现0次或多次

  4. {n}:出现n次

  5. {n,m}:出现n到m次

  6. {n,}:至少出现n次

 
贪婪模式:正则表达式会尽可能多的匹配,直到匹配失败。('12345678'.replace(/\d{3,6}/g,'A') =》A78)
非贪婪模式:尽可能少的匹配。在量词后面加上?即可。('12345678'.replace(/\d{3,6}?/g,'A') =》AA78)
 
分组:
  1. 使用()可以达到分组的功能,使量词作用于分组('a1b2c3d4'.replace(/(\w\d){3}/g,'X') =》Xd4)

  2. 或|('a1b2c3d4'.replace(/(a1|b2)/g,'X') =》XXc3d4)

 
反向引用('2017-05-06'.replace(/(\d{4})-(\d{2})-(\d{2})/g,'$2/$3/$1') =》05/06/2017)
 
忽略分组:不希望捕获某些分组,只需要在分组内加上?:就可以
 
前瞻:在正则表达式匹配到规则的时候,向前检查是否符合断言,后顾方向相反,JS不支持后顾。
  1. 正向前瞻:exp(?=assert)('a2*3'.replace(/\w(?=\d)/g,'X') =》X2*3)

  2.  负向前瞻:exp(?!assert)

  3. 正向后顾:exp(?<=assert),JS不支持。

  4. 负向后顾:erp((?

 
test(str):用于测试字符串参数中,是否存在匹配正则表达式模式的字符串。(var reg1 = /\w/; reg1.test('a');//true)
exec(str):使用正则表达式模式对字符串执行搜索,并将更新全局RegExp对象的属性以反映匹配结果。
如果没有匹配的文本则返回null,否则返回一个结果数组:index 声明匹配文本的第一个字符的位置,input 存放呗检索的字符串string

以上是javascript-正则表达式的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

学会彻底卸载pip,使用Python更加高效 学会彻底卸载pip,使用Python更加高效 Jan 16, 2024 am 09:01 AM

不再需要pip?快来学习如何有效卸载pip!引言:pip是Python的包管理工具之一,它可以方便地安装、升级和卸载Python包。然而,有时候我们可能需要卸载pip,可能是因为我们希望使用其他的包管理工具,或者因为我们需要完全清除Python环境。本文将介绍如何有效地卸载pip,并提供具体的代码示例。一、卸载pip的方法下面将介绍两种常见的卸载pip的方法

深入研究matplotlib的色彩映射表 深入研究matplotlib的色彩映射表 Jan 09, 2024 pm 03:51 PM

深入学习matplotlib颜色表,需要具体代码示例一、引言matplotlib是一个功能强大的Python绘图库,它提供了丰富的绘图函数和工具,可以用于创建各种类型的图表。而颜色表(colormap)是matplotlib中一个重要的概念,它决定了图表的配色方案。深入学习matplotlib颜色表,将帮助我们更好地掌握matplotlib的绘图功能,使绘

揭秘C语言的吸引力: 发掘程序员的潜质 揭秘C语言的吸引力: 发掘程序员的潜质 Feb 24, 2024 pm 11:21 PM

学习C语言的魅力:解锁程序员的潜力随着科技的不断发展,计算机编程已经成为了一个备受关注的领域。在众多编程语言中,C语言一直以来都备受程序员的喜爱。它的简单、高效以及广泛应用的特点,使得学习C语言成为了许多人进入编程领域的第一步。本文将讨论学习C语言的魅力,以及如何通过学习C语言来解锁程序员的潜力。首先,学习C语言的魅力在于其简洁性。相比其他编程语言而言,C语

Pygame入门指南:全面安装和配置教程 Pygame入门指南:全面安装和配置教程 Feb 19, 2024 pm 10:10 PM

从零开始学习Pygame:完整的安装和配置教程,需要具体代码示例引言:Pygame是一个使用Python编程语言开发的开源游戏开发库,它提供了丰富的功能和工具,使得开发者可以轻松创建各种类型的游戏。本文将带您从零开始学习Pygame,并提供完整的安装和配置教程,以及具体的代码示例,让您快速入门。第一部分:安装Python和Pygame首先,确保您的计算机上已

一起学习word根号输入办法 一起学习word根号输入办法 Mar 19, 2024 pm 08:52 PM

在word中编辑文字内容时,有时会需要输入公式符号。有的小伙们不知道在word根号输入的方法,小面就让小编跟小伙伴们一起分享下word根号输入的方法教程。希望对小伙伴们有所帮助。首先,打开电脑上的Word软件,然后打开要编辑的文件,并将光标移动到需要插入根号的位置,参考下方的图片示例。2.选择【插入】,再选择符号里的【公式】。如下方的图片红色圈中部分内容所示:3.接着选择下方的【插入新公式】。如下方的图片红色圈中部分内容所示:4.选择【根式】,再选择合适的根号。如下方的图片红色圈中部分内容所示:

如何用 Golang 正则匹配多个单词或字符串? 如何用 Golang 正则匹配多个单词或字符串? May 31, 2024 am 10:32 AM

Golang正则表达式使用管道符|来匹配多个单词或字符串,将各个选项作为逻辑OR表达式分隔开来。例如:匹配"fox"或"dog":fox|dog匹配"quick"、"brown"或"lazy":(quick|brown|lazy)匹配"Go"、"Python"或"Java":Go|Python|Java匹配单词或4位邮政编码:([a-zA

从零开始学习Go语言中的main函数 从零开始学习Go语言中的main函数 Mar 27, 2024 pm 05:03 PM

标题:从零开始学习Go语言中的main函数Go语言作为一种简洁、高效的编程语言,备受开发者青睐。在Go语言中,main函数是一个入口函数,每个Go程序都必须包含main函数作为程序的入口点。本文将从零开始介绍如何学习Go语言中的main函数,并提供具体的代码示例。一、首先,我们需要安装Go语言的开发环境。可以前往官方网站(https://golang.org

快速学会pip安装,从零开始掌握技巧 快速学会pip安装,从零开始掌握技巧 Jan 16, 2024 am 10:30 AM

从零开始学习pip安装,快速掌握技巧,需要具体代码示例概述:pip是Python包管理工具,能够方便地安装、升级和管理Python包。对于Python开发者来说,掌握pip的使用技巧是非常重要的。本文将从零开始介绍pip的安装方法,并给出一些实用的技巧和具体的代码示例,帮助读者快速掌握pip的使用。一、安装pip在使用pip之前,首先需要安装pip。pip的

See all articles