JavaScript学习记录-正则表达式(2)
获取控制
正则表达式元字符是包含特殊含义的字符。它们有一些特殊功能,可以控制匹配模式的方式。反斜杠后的元字符将失去其特殊含义,反斜杠后为模式修饰符的可选参数。
(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)相关推荐
- JavaScript学习记录01快速入门、基本语法、严格检查模式
文章目录 JavaScript学习记录01快速入门.基本语法.严格检查模式 1.1什么是JavaScript 1.2认识JavaScript框架 1.3快速入门 1.4基本语法入门 1.5数据类型简介 ...
- javaScript学习之正则表达式初探
正则表达式 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符合某个 ...
- JavaScript学习记录
JavaScript Javascript : 客户端的一个脚本语言 js是一门弱类型语言,变量的数据类型由后面赋的值决定 数据类型: 基本数据类型:数值,字符,布尔... 引用数据类型:new 出来 ...
- JavaScript学习记录总结(四)——js函数的特殊性
<script type="text/javascript"> //当局部变量与全局变量 重名的时候 var v="全局变量";//定义全 ...
- JavaScript学习记录总结(十)——几个重要的BOM对象
一.弹出框 <script type="text/javascript"> window.οnlοad=function(){ window. ...
- [JavaScript学习记录] 首次运用于网页,做一个简易利息计算器!!!
目录 事件 错误处理 1.隐藏/显示文字 2.简单的加法计算器 效果: ★★★3.简易利息计算器 效果: 事件 javascript允许html与用户交互的行为 例如:鼠标点击事件 & ...
- JavaScript学习记录十七
apply和call方法的使用 //apply和call的使用 //作用:可以改变this的指向 //apply和call方法中如果没有传入参数,或者是传入的是null,那么调用该方法的函数对 ...
- JavaScript学习记录七
Typora查看文档工具 Document对象 * JavaScript分三个部分: * ECMAScript标准:JS的基本的语法 * DOM:Document Object Mod ...
- HTML+CSS+JavaScript学习记录
Internet相关知识 TCP/IP: 传输控制协议/网际协议 TCP/IP通信是点对点的,即通信是网络中一台主机与另一台主机之间的. 在TCP/IP中,HTTP协议用于浏览网页,FTP协议用于In ...
最新文章
- linux禁止向指定ip发送数据包,Linux下使用iptables封锁端口禁止邮件发送
- 分享31个非常有用的 HTML5 教程
- Win10如何设置IE为默认浏览器
- python123第6周答案_Python123测验6: 组合数据类型 (第6周)
- Nodejs 了解web服务器
- docker compose详解
- 还可以这样玩?揭秘打通线上线下新思路
- java 值和引用_Java值传递还是引用传递?
- 硬件信息修改工具 支持修改机器码 硬盘 MAC 等信息
- PyTorch搭建CNN实现时间序列预测(风速预测)
- Porting:telnet远程登录开发板、制作并烧写cramfs和ext4和ramdisk三种格式根文件系统镜像
- win10查看电池损耗
- 十分钟手把手教你设计简单易用的组件级考试题(单选、多选、填空、图片),建议收藏
- MATLAB学习笔记之matlab基础知识
- Java Gradle入门指南之gretty插件(安装、命令与核心特性)
- c程序设计总结(红皮书+真题)
- 合并多个工作簿为一个工作簿和拆分工作簿为多个工作簿
- oracle 数据库ceil,Oracle数据库中ceil函数的操作方案
- 12.13 Daily Scrum
- 计算机管理老是自动打开,防止Windows10自动唤醒,就用这4招,维修电脑必知