原生JavaScript---正则表达式
2024-08-22 23:35:16
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
最新文章
- Quartz.net配置文件实例及cron表达式详解
- 两个list 合并成新一个list
- OpenGL角轴
- .net 环境下get 获取页面出现乱码问题解决
- SQL 语句大全
- Debian下安装Firefox与flash简介
- hdu1867A + B for you again
- SQL Server @@ERROR 用法
- Htmlunit使用
- java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘
- JavaScript的ajax使用
- ●POJ 1329 Circle Through Three Points
- Python:黑板课爬虫闯关第四关
- MySQL之执行流程
- Vue语法学习第五课——条件渲染
- HDU 4768 Flyer【二分】||【异或】
- 洛谷P4438 [HNOI/AHOI2018]道路(dp)
- ajax获取的数据如何渲染到dom元素上
- nginx域名转发 负载均衡 反向代理
- java中正则表达式常用方法
热门文章
- window server 2008 配置ftp并实现用户隔离
- ssh -o 常用选项
- Windows: 如何配置IPv6隧道
- CMS(Concurrent Mark-Sweep)垃圾回收器
- Regular Expression Matching——没理解的动态规划
- DNS使用TCP还是UDP?
- linux的文件隐藏属性 chattr lsattr
- [实战]MVC5+EF6+MySql企业网盘实战(16)——逻辑重构3
- git的使用总结【干货&#183;转载】
- CentOS7 安装 chrome-gnome-shell