正则表达式
来源:互联网 发布:java实现邮箱发送邮件 编辑:程序博客网 时间:2024/05/06 22:16
用处:
- 测试字符串内的模式。
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。 - 替换文本。
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 - 基于模式匹配从字符串中提取子字符串。
可以查找文档内或输入域内特定的文本。
如果正则表达式带有g修饰符,则每一次test方法都从上一次结束的位置开始向后匹配。同时,可以通过正则对象的lastIndex属性指定开始搜索的位置。
var xReg = /x/g;var str = 'xyz_x1_y1_x3';xReg.lastIndex; // 0xReg.test(str); // truexReg.lastIndex; // 1xReg.test(str); // truexReg.lastIndex; // 5// 指定位置开始 指定下次匹配从最后一位开始,就匹配不到了xReg.lastIndex = 11; // 11xReg.test(str); // falsexReg.lastIndex; // 0
实践:
var indexReg = /^(?:http|https).+\/jwebui\/pages\/themes\/(\w+)\/\1\.jspx(\?\S+)?$/i ;
- 最开始的^ 和最后的$分别表示匹配的开始和结束。
- (?:http|https)表示两者之一,这么写是非获取的组匹配,()不会被分组存储。也可以写成(http|https) 但是后面的\1就需要替换成\2了,因为这么写时此处形成了第一个分组。
- .+ 就是任意字符至少出现一次。
- \/jwebui\/pages\/themes\/ 就是匹配字符串”/jwebui/pages/themes/”。
- (\w+) 作为第一个分组,表示任意字母或数字或下划线或汉字至少出现一次。
- \1表示对第一个分组的引用,再重复第一分组的内容 。
- .jspx 表示.jspx。
- (\?\S+)? 表示(\?\S+) 匹配的内容出现0次或一次。其中:
\? 表示? 。
\S+ 表示任意可见字符出现至少一次。
将字符串转换为驼峰表示法
function toCampStyle(str){ var reg=/-([a-z]+)/ig; return str.replace(reg,function(all,letter){ return letter.slice(0,1).toUpperCase()+letter.slice(1) })}
检测有无重复字母
var reg=/([a-zA-Z])\1/g;var str='aadididi'console.log(reg.test(str))
实现千分位分隔符
function format (num) { var reg=/\d{1,3}(?=(\d{3})+$)/g; return (num + '').replace(reg, '$&,'); }
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 【CSDN 日报】| 2.17-3.17 上榜作者排行出炉
- DWZ】常见问题解决 对话框 查找带回 分页问题 选择分页大小无效问题
- 文章阅读低可能不是粉丝少,或许是公众号活粉少
- 飞书信
- 使用spring4+springMVC+hibernate5 时报错:createQuery is not valid without active transaction;
- 正则表达式
- JSON.parse()和JSON.stringify()的使用方法
- Nhibernate使用示例<二>
- Linux 之三个时间属性(Acess , Modify , Change)
- 使用Java语言进行2D游戏编程基础 Fundamental 2D Game Programming with Java 全书笔记(未完结)
- MATLAB实验报告
- YOLO文章汇总
- spring的定时任务功能
- html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍