原生JavaScript---正则表达式
JavaScript 中正则的性能比想象中的低很多。能用字符串方法搞定的,尽量别用正则。------玉伯
抛开性能不谈,一起来看看正则表达式怎么用吧!
先看看JavaScript正则表达式中一些特殊字符的含义:
| 字符 | 含义 | 
| ^ | 匹配以某些字符开头的字符串 | 
| $ | 匹配以某些字符结尾的字符串 | 
| ? | 匹配出现0次或1次的字符或字符串 | 
| * | 匹配出现0次或n次的字符或字符串 | 
| + | 匹配出现1次或n次的字符或字符串 | 
| {n} | 精确匹配出现n次的字符或字符串 | 
| {n,} | 匹配出现>=n次的字符或字符串 | 
| {n,m} | 匹配出现 >=n次 and <=m次 的字符或字符串 | 
| . | 匹配除了换行符外的字符 | 
| [...] | 匹配括号里的任意字符 | 
| [^...] | 匹配除了括号里的字符外的任意字符 | 
| \b | 匹配一个单词的边界 | 
| \B | 匹配一个单词的非边界 | 
| \d | 匹配数字0-9 | 
| \D | 匹配任何非数字的字符 | 
| \w | 匹配 a-z A-Z 0-9 _ | 
| \W | 匹配 非字母、非数字、非下划线 | 
| \n | 匹配换行符 | 
| \s | 匹配空格符 | 
| \S | 匹配非空格符 | 
| \t | 匹配Tab | 
| 字符 | 含义 | 
| g | 全局匹配 | 
| m | 多行匹配 | 
| i | 忽略大小写 | 
1.看是否匹配 test()
如果匹配返回true 不匹配则返回false
示例:
//<![CDATA[
var str="PrimitiveJavaScript is my JavaScript Special column.";
var pattern1=/Java/;
document.write(pattern1.test(str));
document.write("<br/>");
var pattern2=/java/;
document.write(pattern2.test(str));
//--><!]]>
结果:
2.返回匹配的值 exec()
示例:
//<![CDATA[
var str="PrimitiveJavaScript is my JavaScript Special column.";
var pattern=/JavaScript/;
document.write(pattern.exec(str));
//--><!]]>
结果:
JavaScript
3.返回匹配的数组 match()
示例:
//<![CDATA[
var str="PrimitiveJavaScript is my JavaScript Special column.";
var pattern=/JavaScript/g; //全局匹配
var result=str.match(pattern);
document.write(result[0]);
document.write("<br/>");
document.write(result[1]);
//--><!]]>
结果:
掌握这三个方法,再加上字符串的知识,就可以处理各种各样的问题啦。
还是要多加练习,融会贯通。
就写到这了。
我的新浪微博:X--zhang
专栏地址:原生JavaScript
欢迎吐槽,欢迎拍砖!
文 / X--zhang
原生JavaScript---正则表达式的更多相关文章
- WEB前端工程师整理的原生JavaScript经典百例
		一.原生JavaScript实现字符串长度截取 二.原生JavaScript获取域名主机 三.原生JavaScript转义html标签 四.原生JavaScript时间日期格式替换 Date.prot ... 
- 原生JavaScript技巧大收集100个
		原生JavaScript技巧大收集 1.原生JavaScript实现字符串长度截取function cutstr(str, len) { var temp; var icount = 0; var p ... 
- 100个常用的原生JavaScript函数
		1.原生JavaScript实现字符串长度截取 复制代码代码如下: function cutstr(str, len) { var temp; var icount = 0; var ... 
- 原生JavaScript
		原生JavaScript 为了方便查看. 所有的js和css代码都是嵌入式直接写在html代码中 1.js的引入方式 <!DOCTYPE html> <html lang=" ... 
- JavaScript正则表达式,你真的知道?
		一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ... 
- 【JS】javascript 正则表达式 大全 总结
		javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ... 
- 理清JavaScript正则表达式--上篇
		在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ... 
- 理清JavaScript正则表达式--下篇
		紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ... 
- 原生javascript 实现 animate
		原生javascript 实现 animate //animate function getstyle(obj,name){ if(obj.currentStyle){ return obj.curr ... 
- JavaScript正则表达式详解(一)正则表达式入门
		JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ... 
随机推荐
- C/C++——#和##操作符
			1. #操作符 使用阶段:预处理阶段,只有宏定义中使用(#define) 作用:将宏参数转换为字符串 示例: #define STRING(x) #x 2. ##操作符 使用阶段:预处理阶段,只有宏定 ... 
- ansible command模块将返回值写入变量
			ansible 中command模块支持 register参数将远程命令执行的输出结果存储在变量中,后续可以在when中对该变量进行检索确定下一步任务. --- - name: cat /etc/re ... 
- Linux shell中运行命令后加上字符“&”的作用(转)
			原文链接为:http://blog.sina.com.cn/s/blog_963453200102uya7.html & 放在启动参数后面表示设置此进程为后台进程 默认情况下,进程是前台进程, ... 
- IP地址及子网--四种IP广播地址
			国际规定:把所有的IP地址划分为 A,B,C,D,E. 类默认子网掩码:A类为 255.0.0.0; B类为 255.255.0.0; C类为 255.255.255.0.子网掩码是一个32位地址,用 ... 
- 4.rabbitmq 路由
			1. 生产者 #coding:utf8 import pika import json import sys severity = sys.argv[1] if len(sys.argv) > ... 
- Percona XtraDB Cluster(PXC)-高可用架构设计说明
			Mycat+PXC高可用集群 一.架构图 架构说明: 1.mysql 集群高可用部分: l 针对业务场景选用Percona XtraDB Cluter(PXC)复制集群.两个片集群 PXC-dataN ... 
- span文字里面自动换行时怎么办
			可以用white-space:nowrap来强制文字不换行,知道遇到<br>为止 
- CSU 1424 Qz’s Maximum All One Square
			原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1424 逐渐找到做这种题的感觉了. 二分法.g[i][j]存储坐标(i, j)的值,s[i ... 
- centos7 mongodb3.4 安装
			上传tgz 安装包 [root@localhost install_pack]# ll total 274840 -rw-r--r--. 1 root root 9393241 Jun 2 14:36 ... 
- php极速后台开发框架LotusAdmin
			组件:基于thinkphp5.0.12+layui2.1版本 演示站点:https://www.lotusadmin.top/账号 : admin密码:123456 官方QQ交流群:606645328 ... 
