社区
JavaScript
帖子详情
如何学习使用正则表达式,有什么规律,
lwtwrm
2009-12-29 05:21:13
我以前用正则表达式的时候总是在网上找,我想知道有没有什么规律可以学习,也好自己随时都能写出正则表达式
zswang,
我看了你回的好多帖子,好强大啊,能教教xd吗?
...全文
420
12
打赏
收藏
如何学习使用正则表达式,有什么规律,
我以前用正则表达式的时候总是在网上找,我想知道有没有什么规律可以学习,也好自己随时都能写出正则表达式 zswang, 我看了你回的好多帖子,好强大啊,能教教xd吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Thinking_In_IT
2009-12-30
打赏
举报
回复
找很一些资料 认真学学 做一些题目 加油
dh20156
2009-12-30
打赏
举报
回复
参见:
快速掌握JavaScript正则表达式
wcwtitxu
2009-12-30
打赏
举报
回复
呵呵
以前看人家用正则, 就把人家当神看了...
自己一直不敢学
-过客-
2009-12-29
打赏
举报
回复
无他,唯勤是耳
PS:1楼给的完全无意义,一看就不是自己写的,复制过来时,连“\”被过滤掉了都没有检查。。。
春春
2009-12-29
打赏
举报
回复
有些时候看了例子还得自己写!
光靠搜索是不行的!
99percent
2009-12-29
打赏
举报
回复
哇。。。。。
我也不会。
用到的时候只会在百度百一下就拷入去用就OK了。
yixianggao
2009-12-29
打赏
举报
回复
[Quote=引用 3 楼 lwtwrm 的回复:]
yixianggao,老兄,说话别太刻薄,问个问题也要给你拿来说智商问题,有那么严重吗?
你应该也是从菜鸟开始的吧?像你这种态度我不好评价
[/Quote]
lz 连我的回帖内容都没有读懂,看来确实有些问题!
lz 不会用正则只能说明 lz 懒惰,否则就是智商有问题!
——只有 lz 否认前半句成立的条件下,后半句才会成立!
菜鸟:懒惰,学习时漫无目的、无章可循!
高手:刻苦,学习时有的放矢、条理清晰!
lz 的问题就是“懒惰”!
浪尖赏花
2009-12-29
打赏
举报
回复
初学者多多少少会对正则有种畏惧感,这很正常
多练,其他没有什么特别的技巧
lwtwrm
2009-12-29
打赏
举报
回复
感谢haiyong_sea提供的资料
lwtwrm
2009-12-29
打赏
举报
回复
yixianggao,老兄,说话别太刻薄,问个问题也要给你拿来说智商问题,有那么严重吗?
你应该也是从菜鸟开始的吧?像你这种态度我不好评价
yixianggao
2009-12-29
打赏
举报
回复
网上有海量的免费教程可以学习!
lz 不会用正则只能说明 lz 懒惰,否则就是智商有问题!
勤奋是懒惰的克星,如果是智商问题就要吃脑白金了!
真哥哥
2009-12-29
打赏
举报
回复
给你个资料,用的时候看看:
匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用
//日期格式yyyy
PatternsDict.date_y= /^(\d{4})$/;
//日期格式yyyy-mm
PatternsDict.date_ym= /^(\d{4})-(0\d{1}|1[0-2])$/;
//日期格式yyyy-mm-dd
PatternsDict.date_ymd= /^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$/;
//时间格式hh
PatternsDict.time_h=/^(0\d{1}|1\d{1}|2[0-3])$/;
//时间格式hh:mm
PatternsDict.time_hm=/^(0\d{1}|1\d{1}|2[0-3]):([0-5]\d{1})$/;
//时间格式hh:mm:ss
PatternsDict.time_hms=/^(0\d{1}|1\d{1}|2[0-3]):[0-5]\d{1}:([0-5]\d{1})$/;
匹配特定数字:
^[1-9]d*$ //匹配正整数
^-[1-9]d*$ //匹配负整数
^-?[1-9]d*$ //匹配整数
^[1-9]d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式介绍如下:
只能输入数字:“^[0-9]*$”
只能输入n位的数字:“^d{n}$”
只能输入至少n位数字:“^d{n,}$”
只能输入m-n位的数字:“^d{m,n}$”
只能输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”
只能输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”
只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
只能输入非零的正整数:“^+?[1-9][0-9]*$”
只能输入非零的负整数:“^-[1-9][0-9]*$”
只能输入长度为3的字符:“^.{3}$”
只能输入由26个英文字母组成的字符串:“^[A-Za-z]+$”
只能输入由26个大写英文字母组成的字符串:“^[A-Z]+$”
只能输入由26个小写英文字母组成的字符串:“^[a-z]+$”
只能输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$”
验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,
只能包含字符、数字和下划线。
验证是否含有^%&’,;=?$”等字符:“[^%&',;=?$x22]+”
只能输入汉字:“^[u4e00-u9fa5],{0,}$”
验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
验证InternetURL:“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$”
验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”
正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,
“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
验证身份证号(15位或18位数字):“^d{15}|d{}18$”
验证一年的12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:“^((0?[1-9])|((1|2)[0-9])|30|31)$”
正确格式为:“01”“09”和“1”“31”。
匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1)应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}
(2)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, “”);
}
(3)应用:利用正则表达式分解和转换IP地址
function IP2V(ip) //IP地址转换成对应数值
{
re=/(d+).(d+).(d+).(d+)/g //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error(”Not a valid IP address!”)
}
}
(4)应用:从URL地址中提取文件名的javascript程序
s=”http://www.9499.net/page1.htm”;
s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″) ; //Page1.htm
(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文:onkeyup=”value=”/blog/value.replace(/["^u4E00-u9FA5]/g,”) ” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,”))”
用正则表达式限制只能输入全角字符: onkeyup=”value=”/blog/value.replace(/["^uFF00-uFFFF]/g,”) ” onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^uFF00-uFFFF]/g,”))”
用正则表达式限制只能输入数字:onkeyup=”value=”/blog/value.replace(/["^d]/g,”) “onbeforepaste= “clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”))”
用正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/value.replace(/[W]/g,””) “onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”
Tag: 验证, 常用, 正则表达式
html编辑器查找与替换,VSCode 编辑器的
正则表达式
搜索和替换
本文介绍了如何利用
正则表达式
在各种文本编辑器中进行批量搜索和替换文本,适用于有
规律
的文本处理。通过开启编辑器的
正则表达式
模式,可以高效地进行模糊搜索和精准替换,例如将特定格式的教程名称替换为新的格式。此外,还展示了如何捕获和
使用
正则表达式
匹配的内容作为变量,以实现更复杂的文本转换。推荐对
正则表达式
有一定了解的读者参考
学习
。
Python抓取4A级猎头公司数据
本文介绍了如何
使用
Python的urllib.request模块爬取网站数据,通过URL
规律
抓取网页内容,利用
正则表达式
解析数据,并将结果存储到Excel表格中。作者还分享了如何获取完整的Python开发
学习
资源,以帮助工程师系统
学习
和提升技能。
【python爬虫】
学习
笔记1-爬取某网站妹子图片
本文是作者
学习
爬虫的初步尝试,详细记录了如何爬取特定网站上的美女图片。首先通过设置opener模拟浏览器行为,然后通过分析URL
规律
,
使用
正则表达式
提取图片链接。每提取完一页的图片后,通过提取页码进行翻页,直到所有页面的图片都被抓取。在抓取过程中,遇到的urlretrieve卡顿问题,通过添加代码解决。欢迎读者在评论区分享更好的方法。
全国邮政编码
规律
,及
正则表达式
本文介绍了用于验证中国大陆邮政编码的
正则表达式
规则。详细解释了如何通过两个不同的
正则表达式
来验证邮编的有效性,特别是针对邮编开头两位数字的
规律
进行了统计和说明。
EXCEL VBA
使用
正则表达式
清洗替换数据
在EXCEL表中,遇到有
规律
的数据提取或替换需求,自带查找替换功能难以实现,可利用VBA适用
正则表达式
匹配数据。介绍了
正则表达式
概念、常用表达式,如匹配手机号、身份证号等,还给出VBA
使用
正则表达式
代码及提取型号示例,提供在线测试平台。
JavaScript
87,987
社区成员
224,683
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章