http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3655|回复: 2

[零基础学习web前端] 【零基础学习web前端】javascript RegExp 对象

[复制链接]
发表于 2018-12-31 22:16:03 | 显示全部楼层 |阅读模式
【零基础学习web前端】javascript RegExp 对象



【零基础学习web前端】教程目录导航


RegExp:是正则表达式(regular expression)的简写。

RegExp对象用于规定在文本中检索的内容。

什么是 RegExp?

正则表达式描述了字符的模式对象。
当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。
简单的模式可以是一个单独的字符。
更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。
您可以规定字符串中的检索位置,以及要检索的字符类型,等等。

RegExp语法

[JavaScript] 纯文本查看 复制代码
var patt=new RegExp(pattern,modifiers);
或更简单的方法
var patt=/pattern/modifiers; 

模式描述了一个表达式模型。
修饰符(modifiers)描述了检索是否是全局,区分大小写等。
注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。比如,以下是等价的:

[JavaScript] 纯文本查看 复制代码
var re = new RegExp("\\w+");
var re = /\w+/;


RegExp 对象的方法
RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

  • test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。
[JavaScript] 纯文本查看 复制代码
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free")); 

由于该字符串中存在字母 "e",以上代码的输出将是:
true

  • exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
[JavaScript] 纯文本查看 复制代码
var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free")); 

由于该字符串中存在字母 "e",以上代码的输出将是:e
您可以向 RegExp 对象添加第二个参数,以设定检索。
例如,如果需要找到所有某个字符的所有存在,则可以使用 "g" 参数 ("global")。
在使用 "g" 参数时,exec() 的工作原理如下:

  • 找到第一个 "e",并存储其位置
  • 如果再次运行 exec(),则从存储的位置开始检索,并找到下一个 "e",并存储其位置
[JavaScript] 纯文本查看 复制代码
var patt1=new RegExp("e","g");
do
{
result=patt1.exec("The best things in life are free");
document.write(result);
}
while (result!=null) 

由于这个字符串中 6 个 "e" 字母,代码的输出将是:eeeeeenull;
  • compile()
compile() 方法用于改变 RegExp。
compile() 既可以改变检索模式,也可以添加或删除第二个参数。
[JavaScript] 纯文本查看 复制代码
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));
patt1.compile("d");
document.write(patt1.test("The best things in life are free"));

由于字符串中存在 "e",而没有 "d",以上代码的输出是:truefalse;







1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2019-1-1 20:25:22 | 显示全部楼层
强烈支持楼主ing……
发表于 2019-1-2 17:49:50 | 显示全部楼层
我只是路过打酱油的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 20:17

© 2014-2021

快速回复 返回顶部 返回列表