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

最新文章

  1. Quartz.net配置文件实例及cron表达式详解
  2. 两个list 合并成新一个list
  3. OpenGL角轴
  4. .net 环境下get 获取页面出现乱码问题解决
  5. SQL 语句大全
  6. Debian下安装Firefox与flash简介
  7. hdu1867A + B for you again
  8. SQL Server @@ERROR 用法
  9. Htmlunit使用
  10. java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘
  11. JavaScript的ajax使用
  12. ●POJ 1329 Circle Through Three Points
  13. Python:黑板课爬虫闯关第四关
  14. MySQL之执行流程
  15. Vue语法学习第五课——条件渲染
  16. HDU 4768 Flyer【二分】||【异或】
  17. 洛谷P4438 [HNOI/AHOI2018]道路(dp)
  18. ajax获取的数据如何渲染到dom元素上
  19. nginx域名转发 负载均衡 反向代理
  20. java中正则表达式常用方法

热门文章

  1. window server 2008 配置ftp并实现用户隔离
  2. ssh -o 常用选项
  3. Windows: 如何配置IPv6隧道
  4. CMS(Concurrent Mark-Sweep)垃圾回收器
  5. Regular Expression Matching——没理解的动态规划
  6. DNS使用TCP还是UDP?
  7. linux的文件隐藏属性 chattr lsattr
  8. [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
  9. git的使用总结【干货&#183;转载】
  10. CentOS7 安装 chrome-gnome-shell