js正则表达语法
/*
*通过量词可以设置一个内容出现的次数
*量词只对它前边的一个内容起作用。所以在作用多个时需要用小括号()来向计算机说明这是一个整体。
*-{n}代表正好出现n次。
*-{m,n}出现了m-n次。
*-{m,}m次以上。
*/
var reg = /a{3}/ ;
//ababab
reg = /(ab){3}/; reg = /ab{1,3}c/; //abbbc; reg = /b{3}/; //bbb; reg = /a{2,}/ //bbbaa;
RegExp
RegExp对象的方法
RegExp对象有三个方法:
test();用来检索字符串中的指定值。返回值是true或false。
exec() ;用来检索字符串中的指定值。返回值是被找到的值。如果没有找到那么返回一个null。
compile():compile方法用来改变RegExp。
compile():既可以改变检索模式,也可以添加或删除第二个参数。
例子:
var reg = new RegExp("e");
document.write(reg.test("The best things in life are free"));
reg.compile("d");
//
document.write(reg.test("The best things in life are free"));
因为字符串中存在e而没有d,所以代码输出的是:
true false; RegExpObject.compile(regexp,modifier);
regexp:用来匹配正则表达式。
modifier:规定用来匹配的类型。"g"用于全局匹配,"i"用来匹配不区分字母的大小写,"gi" 用于全局区分大小写的匹配。
$用来说明结尾匹配的方式。
()用来表明一个字表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用\(和\)。
如果有小括号,如果没有全局g,正则本身有一个返回值,小括号会有一个返回值。
如果有全局g,那么就返回正则本身的返回值。
*用来匹配前面的表达式是0次还是多次。匹配字符时候需要使用\*.
+匹配前面的子表达式一次或者多次。要匹配字符时候需要用\+。
.匹配除了换行符\n之外的任何的单字符。
[]标记一个中括号表达式的开始。要匹配[],需要使用\[]。
?匹配前面的子表达式0次或者一次,或者指明一个非贪婪限定符。要匹配?字符请使用\?。
\将一下个字符标记为或特殊字符,或原义字符、或向后引用、或八进制转义符。例如,'n'匹配^字符'n'。'n'匹配换行符。序列'\\'匹配"\",而"\("则匹配"("。
^匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配^字符本身。请使用\^。
{}标记限定表达式。意思是括号内填写出现几次的次数。要匹配{,请使用\{。
|用来选择两项之间的一个选择。要匹配|,请使用\|。
js正则表达语法的更多相关文章
- js正则表达test、exec和match的区别
test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...
- 转转转---js正则表达exec与match的区别说明
正则表达式对象有两个定义方式:: 1.第一种定义: new RegExp(pattern, attributes);如var reg = new RegExp("abc",&quo ...
- js:正则表达
一:正则表达对象方法 1:compile()方法 //编译正则表达式 实例:在字符串中全局搜索“man”,并用“person”替换,然后通过compile()方法,改变正则表达式,用person替 ...
- js正则表达大合集【转载自:http://caibaojian.com】
[注明原文链接吧]:http://caibaojian.com 1 用户名正则 //用户名正则,4到16位(字母,数字,下划线,减号) var uPattern = /^[a-zA-Z0-9_-]{4 ...
- js正则表达使用实例
(1)替换掉htmlStr中所有的<font..>和</font> var htmlstr='<font color="#fff">ABC< ...
- js正则实现从一段复杂html代码字符串中匹配并处理特定信息
js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他 ...
- js 正则练习之语法高亮
原文:js 正则练习之语法高亮 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解.今天就分析下 次碳酸钴 和 Barret Lee 语法高亮实现. 先 ...
- JS写法 数值与字符串的相互转换 取字符中的一部分显示 正则表达规则
http://www.imooc.com/article/15885 正则表达规则 <script type="text/javascript"> </scrip ...
- Javascript正则构造函数与正则表达字面量&&常用正则表达式
本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...
随机推荐
- Java 计算年龄
public static String getAgeTxt(String birthTime,String beginTime,int level){ if(StringUtils.isBlank( ...
- 云计算之路-阿里云上:docker swarm 集群再次出现故障
非常非常抱歉!16:30 ~ 17:00 左右我们用于跑 ASP.NET Core 站点的 docker swarm 集群再次出现宕机,由此给您带来了很大很大的麻烦,恳请您的谅解! 受此次故障影响的站 ...
- 在Debian系列Linux系统Ubuntu上安装配置yum的试验
用习惯了Red Hat系统的都知道我们习惯于三种安装方式:一种是rpm包的方式安装,一种就是tar包的方式来安装,还有一种方式就是yum源的安装. 首先rpm包的用法,我们一般是在Red Hat光驱里 ...
- Lintcode212 Space Replacement solution 题解
[题目描述] Write a method to replace all spaces in a string with%20. The string is given in a characters ...
- CentOS6和CentOS7安装jumpserver
1.1 jumpserver安装 同步时间:ntpdate ntp1.aliyun.com 关闭selinux 关闭防火墙 系统字体修改成英文 1.1.1 安装依赖(前提需要epel源) yum in ...
- .net core2.0半年的使用经验之前言
目录 前言 使用dapper做数据层调用 使用T4模板生成 使用缓存 使用swagger做接口文档(非restful) 使用identity做身份认证 使用jwt做身份认证 使用CORS跨域 调用we ...
- 51ak带你看MYSQL5.7源码1:main入口函数
从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 目录: 51ak带你看MYSQL5.7源码1:main入口函数 51ak带你看MYSQL5.7源码2:编译 ...
- 2017总结&2018展望
2017已逝2018已来,是时候放下包袱来好好回顾下2017做了什么,有什么收获,遗憾之处的原因是什么.2018应该怎么做才能让自己满意,才能少一些遗憾. 2017 工作 工作中所参与的项目是一个直播 ...
- [POJ1050] To the Max 及最大子段和与最大矩阵和的求解方法
最大子段和 Ο(n) 的时间求出价值最大的子段 #include<cstdio> #include<iostream> using namespace std; int n,m ...
- Java String常用方法
字符串查找 两种查找字符串的方法,indexOf(String s)和lastIndexOf(String s). String str = "tyson-json"; int i ...