获取控制

正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的方式。反斜杠后的元字符将失去其特殊含义,反斜杠后为模式修饰符的可选参数。

(1)字符类:单个字符和数字

元字符/元符号

匹配情况

.

匹配除换行符外的任意字符

[a-z0-9]

匹配括号中的字符集中的任意字符

[^a-z0-9]

匹配任意不在括号中的字符集中的字符

\d

匹配数字

\D

匹配非数字,同[^0-9]相同

\w

匹配字母和数字及_

\W

匹配非字母和数字及_

var pattern = /g..gle/;     //.匹配一个任意字符
var str = 'google';
alert(pattern.test(str));   //返回类型为布尔型,返回值truevar pattern = /g[a-z]*gle/;    //[a-z]*表示任意个a-z中的字符
var str = 'google';
alert(pattern.test(str));   //返回结果truevar pattern = /g[^0-9]*gle/;  //[^0-9]*表示任意个非0-9的字符
var str = 'g00gle';
alert(pattern.test(str));    //返回结果truevar pattern = /[a-z][A-Z]+/;  //[A-Z]+表示A-Z一次或多次
var str = 'google';
alert(pattern.test(str));       //一次都没有匹配到A-Z中任意字符,返回结果false var pattern = /g\w*gle/;   //\w*匹配任意多个所有字母数字_
var str = 'google';
alert(pattern.test(str));   //返回结果truevar pattern = /go\d*ogle/;     //\d*匹配任意多个数字
var str = 'go666ogle';
alert(pattern.test(str));    //返回结果true,注意//存在空格会返回falsevar pattern = /\D{7,}/;     //\D{7,}匹配至少7个非数字
var str = 'satisfaction12';
alert(pattern.test(str));   //12个字母,返回结果true

(2)字符类:重复字符

元字符/元符号

匹配情况

x?

匹配0个或1个x

x*

匹配0个或任意多个x

x+

匹配至少一个x

(xyz)+

匹配至少一个(xyz)

x{m,n}

匹配最少m个、最多n个x

var pattern = /go?gle/;     //匹配0个或1个o
var str = 'google';
alert(pattern.test(str));   //返回值为布尔值,返回结果falsevar pattern = /go*gle/;      //匹配0个一个或多个的o
var str = 'google';
alert(pattern.test(str));   //返回值为布尔值,返回结果truevar pattern = /go+gle/;      //匹配至少一个o
var str = 'google';
alert(pattern.test(str));   //返回值为布尔值,返回结果truevar pattern = /(goo)gle/; //匹配至少一个(goo)
var str = 'googoogoogoogle';
alert(pattern.test(str));   //返回值为布尔值,返回结果truevar pattern = /go{2,5}gle/;   //匹配最少2个、最多5个o
var str = 'gogle';
alert(pattern.test(str));   //返回值为布尔值,返回结果fasleasle

(3)字符类:锚字符

元字符/元符号

匹配情况

^

行首匹配

$

行尾匹配

\A

只有匹配字符串开始处

\b

匹配单词边界,词在[]内时无效

\B

匹配非单词边界

\G

匹配当前搜索的开始位置

\Z

匹配字符串结束处或行尾

\z

只匹配字符串结束处

var pattern = /^google$/;   //^从开头匹配,$从结尾开始匹配
var str = 'google';
alert(pattern.test(str));

(4)字符类:空白字符

元字符/元符号

匹配情况

\0

匹配null字符

\b

匹配边界

\f

匹配进纸字符

\n

匹配换行符

\r

匹配回车字符

\t

匹配制表符

\s

匹配空白字符、空格、制表符和换行符

\S

匹配非空白字符

var pattern = /goo\sgle/;       //\s可以匹配到空格
var str = 'goo gle';
alert(pattern.test(str));var pattern = /google\b/;     //\b可以匹配是否到了边界
var str = 'google';
alert(pattern.test(str));       //  /b只能放在开头结尾处 

(5)字符类:替代字符

元字符/元符号

匹配情况

a|b|c

匹配a或b或c中任意一个

var pattern = /google|baidu|bing/;  //匹配三种其中一种字符串
var str = 'google';
alert(pattern.test(str));  //返回结果true

(6)字符类:记录字符

元字符/元符号

匹配情况

(string)

用于反向引用的分组

\1或$1

匹配第一个分组中的内容

\2或$2

匹配第二个分组中的内容

\3或$3

匹配第三个分组中的内容

var pattern = /(google){2,4}/;  //匹配分组里的字符串2-4次
var str = 'googlegoogle';
alert(pattern.test(str));   //返回结果truevar pattern = /8(.*)8/;          //获取8..8之间的任意字符
var str = 'This is 8google8';
str.match(pattern);
alert(RegExp.$1);               //得到第一个分组里的字符串内容var pattern = /8(.*)8/;
var str = 'This is 8google8';
var result = str.replace(pattern,'<strong>$1</strong>');  //得到替换的字符串输出
document.write(result);   //所替换的字符加粗了var pattern = /(.*)\s(.*)/;
var str = 'google baidu';
var result = str.replace(pattern, '$2 $1');      //将两个分组的值替换输出
document.write(result);         

JavaScript学习记录-正则表达式(2)相关推荐

  1. JavaScript学习记录01快速入门、基本语法、严格检查模式

    文章目录 JavaScript学习记录01快速入门.基本语法.严格检查模式 1.1什么是JavaScript 1.2认识JavaScript框架 1.3快速入门 1.4基本语法入门 1.5数据类型简介 ...

  2. javaScript学习之正则表达式初探

    正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个 ...

  3. JavaScript学习记录

    JavaScript Javascript : 客户端的一个脚本语言 js是一门弱类型语言,变量的数据类型由后面赋的值决定 数据类型: 基本数据类型:数值,字符,布尔... 引用数据类型:new 出来 ...

  4. JavaScript学习记录总结(四)——js函数的特殊性

    <script type="text/javascript">   //当局部变量与全局变量 重名的时候    var v="全局变量";//定义全 ...

  5. JavaScript学习记录总结(十)——几个重要的BOM对象

    一.弹出框 <script type="text/javascript">     window.οnlοad=function(){          window. ...

  6. [JavaScript学习记录] 首次运用于网页,做一个简易利息计算器!!!

    目录 事件 错误处理 1.隐藏/显示文字 2.简单的加法计算器 效果: ★★★3.简易利息计算器 效果: ​​​​​​​ 事件 javascript允许html与用户交互的行为 例如:鼠标点击事件 & ...

  7. JavaScript学习记录十七

    apply和call方法的使用 //apply和call的使用     //作用:可以改变this的指向 //apply和call方法中如果没有传入参数,或者是传入的是null,那么调用该方法的函数对 ...

  8. JavaScript学习记录七

    Typora查看文档工具 Document对象 * JavaScript分三个部分:     * ECMAScript标准:JS的基本的语法     * DOM:Document Object Mod ...

  9. HTML+CSS+JavaScript学习记录

    Internet相关知识 TCP/IP: 传输控制协议/网际协议 TCP/IP通信是点对点的,即通信是网络中一台主机与另一台主机之间的. 在TCP/IP中,HTTP协议用于浏览网页,FTP协议用于In ...

最新文章

  1. linux禁止向指定ip发送数据包,Linux下使用iptables封锁端口禁止邮件发送
  2. 分享31个非常有用的 HTML5 教程
  3. Win10如何设置IE为默认浏览器
  4. python123第6周答案_Python123测验6: 组合数据类型 (第6周)
  5. Nodejs 了解web服务器
  6. docker compose详解
  7. 还可以这样玩?揭秘打通线上线下新思路
  8. java 值和引用_Java值传递还是引用传递?
  9. 硬件信息修改工具 支持修改机器码 硬盘 MAC 等信息
  10. PyTorch搭建CNN实现时间序列预测(风速预测)
  11. Porting:telnet远程登录开发板、制作并烧写cramfs和ext4和ramdisk三种格式根文件系统镜像
  12. win10查看电池损耗
  13. 十分钟手把手教你设计简单易用的组件级考试题(单选、多选、填空、图片),建议收藏
  14. MATLAB学习笔记之matlab基础知识
  15. Java Gradle入门指南之gretty插件(安装、命令与核心特性)
  16. c程序设计总结(红皮书+真题)
  17. 合并多个工作簿为一个工作簿和拆分工作簿为多个工作簿
  18. oracle 数据库ceil,Oracle数据库中ceil函数的操作方案
  19. 12.13 Daily Scrum
  20. 计算机管理老是自动打开,防止Windows10自动唤醒,就用这4招,维修电脑必知

热门文章

  1. Linux 基于ffplay的简易视频播放器(网络+本地)
  2. 计算从前某个时间距离现在经过了多久时间
  3. oracle 存储过程学习
  4. 信息收集之搜索引擎ZoomEye(钟馗之眼)
  5. 修复硬盘坏道黄金搭档:FbDisk和Diskgen
  6. android uil,Android UIL图片加载框架学习
  7. 每日一题【35】解析几何-抛物线的焦点弦长公式
  8. 理性追星,超级星饭团正在行动
  9. 基于Java实现的商品出入库管理系统
  10. 解决U盘感染病毒后所有文件及文件夹被隐藏的方法