JavaScript 正则表达式

  • 正则表达式是构成搜索模式的字符序列
  • 搜索模式可用于文本搜索和文本替换操作

使用正则

字符串方法

  • 在JavaScript中,正则表达式常常用两个字符串方法:

    • search()
    • replace()

正则语法

/[搜索模式]/[修饰符]

search()

  • search() 方法使用表达式来搜索匹配,同时也接受字符串作为搜索参数,然后返回匹配的位置

字符搜索 search()

var str = "Huawei" ;
var n = str.search("we");
// 返回 n = 3

正则使用 search()

var str "Huawei" ;
var n = str.search(/we/i) ;
// 返回 n = 3

replace()

字符搜索 replace()

  • 模式搜索后替换模式文本,返回替换后的全部文本
var str = "Huawei,China" ;
var re = str.replace("Huwawei","HUAWEI") ;
// 结果:HUAWEI,China!

正则使用 replace()

var str = "Huawei,China" ;
var re = str.replace(/huawei/i,"HUAWEI") ;
// 结果:HUAWEI,China!

认识正则

正则表达式修饰符

修饰符 描述
i 大小写不敏感
g 执行全局匹配搜索(查找所有内容)
m 执行多行匹配

正则表达式模式

  • 表达式
表达式 描述
[abc] 查找方括号之间的任意字符
[0-9] 查找任何在0-9之间的数字
(x|y) 查找由竖线分隔的任何选项
  • 元字符
元字符 描述
\d 查找数字
\s 查找空白字符
\b 匹配单词边界
\uxxxx 查找以十六进制xxx规定的unicode字符
  • 定义量词
量词 描述
n + 匹配任何包含至少一个 n 的字符串
n * 匹配任何包含零个或多个 n 的字符串
n ? 匹配任何包含零个或一个 n 的字符串

使用 test()

  • test():一个正则表达式方法

通过模式来搜索字符串,然后返回 true 或 false

var re = /C/;
re.test("China - Huawei");
// 返回 true
/* 简单写 */
/C/.test("China - Huawei");

使用 exec()

  • exec():一个正则表达式方法

通过指定的搜索模式搜索字符串,并返回搜索到的文本(未匹配到则返回 Null)

var re = /C/ ;
re.exec("China - Huawei");
// 返回 C
/*******简写*******/
/C/.exec("China - Huawei");

JavaScript 正则表达式 初探的更多相关文章

  1. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  2. 【JS】javascript 正则表达式 大全 总结

    javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ...

  3. 理清JavaScript正则表达式--上篇

    在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ...

  4. 理清JavaScript正则表达式--下篇

    紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...

  5. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  6. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  7. Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识

    本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  8. JavaScript正则表达式下——相关方法

    上篇博客JavaScript 正则表达式上——基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实 ...

  9. JavaScript 正则表达式上——基本语法

    定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

随机推荐

  1. Selenium(十六):unittest单元测试框架(二) 初识unittest(续)

    1. 认识unittest(续) 关于unittest单元测试框架,还有一些问题值得进一步探讨.你可能在前一章的学习过程中产生了一些疑问,也许你会在本节中找到答案. 1.1 用例执行的顺序 用例的执行 ...

  2. Python 你见过三行代码的爬虫吗

    ------------恢复内容开始------------ 每次讲爬虫的时候都会从“发送请求” 开始讲,讲到解析页面的时候可能大部分读者都会卡住,因为这部分确实需要一点XPATH或者CSS选择器的前 ...

  3. 神探Python程序员,带你千里捉小三!(附详情代码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王翔 清风Python PS:如有需要Python学习资料的小伙伴 ...

  4. HTML中特殊符号编码对照表,html特殊符号编码都有哪些?

    HTML中一些无法打出来的符号可以用相应的代码进行代替显示,本文提供了一些HTML特殊符号相应的代码供开发者参考. 特殊符号 命名实体 十进制编码 特殊符号 命名实体 十进制编码 特殊符号 命名实体 ...

  5. 11gr2 alert日志中报TNS-12535 TNS-00505原因及解决方法

    前面新装了11GR2 RAC,某天在做巡检的时候发现alert日志中存在如下报错Fatal NI connect error 12170. VERSION INFORMATION: TNS for L ...

  6. docker in docker 的启动方式

    --privileged  -v /var/run/docker.sock:/var/run/docker.sock  -v $(which docker):/bin/docker 启动容器时添加上面 ...

  7. docker改变默认存储路径到数据盘(自己实践)

    一.首先将数据盘格式化分区并挂载(文章中提到的sdb(腾讯云)实践中是vdb(阿里云),文章中挂载在ssd目录下,实践中是挂载到data目录下的,后面安装docker部分以后是实践中的记录,上面数据盘 ...

  8. Python对MongoDB增删改查

    pip install pymongo import pymongo # 建立连接 client = pymongo.MongoClient() # 指定数据库 (不存在则会新建) db = clie ...

  9. ASP.NET Core 获取主机名时的 "Decoded string is not a valid IDN name" 错误

    在 ASP.NET Core 中通过 Request.Host.Host 获取主机名(hostname)时,如果主机名中包含非 ASCII 字符(比如 puny code),就会引发下面的异常: Sy ...

  10. saltstack--关于报错“UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 6: ordinal not in range(128)”

    [root@linux-node1 桌面]# salt-key [ERROR ] 'ascii' codec can't decode byte 0xe6 in position 6: ordinal ...