社区
JavaScript
帖子详情
如何学习使用正则表达式,有什么规律,
lwtwrm
2009-12-29 05:21:13
我以前用正则表达式的时候总是在网上找,我想知道有没有什么规律可以学习,也好自己随时都能写出正则表达式
zswang,
我看了你回的好多帖子,好强大啊,能教教xd吗?
...全文
357
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: 验证, 常用, 正则表达式
正则表达式
自动生成器 v2.0.0 专业版.zip
正则表达式
自动生成器是一个智能、易用的
正则表达式
生成、测试以及字符串提取工具。
正则表达式
库让你可以直接借用
正则表达式
,而无需自己费脑筋。“
正则表达式
自动生成器”可以自动生成
正则表达式
,测试
正则表达式
,可视化显示结果,导出提取字符串,你所要做的,仅仅是几下鼠标点击!
正则表达式
自动生成器主要功能: 自动生成
正则表达式
编辑并测试
正则表达式
多向导页,可在多个源文本上测试同一个
正则表达式
(标准版无此功能) 多页参考生成
正则表达式
(标准版无此功能) 自动检查和修改生成的
正则表达式
的正确性 以可视方式呈现测试结果 从文本文件中获取源文本 从HTML页面中获取源代码 一键导出匹配文本 一键导出提取字符组,并按自定义的分隔符进行分隔 保存项目以便重复测试和修改 在“设计元素”中
学习
并创建
正则表达式
直接从
正则表达式
库中选择利用
正则表达式
多语种 100%-200%大字体下完美显示 你可以从任何纯文本中提取有
规律
的文字,比如txt文件,XML文件,csv文件,HTML文件等,然后导出到剪贴板或文本文件中,你可以很方便地把它们导入到程序,数据库,excel文件等。
正则表达式
自动生成器现在有三个语言版本: 英语,简体中文,繁体中文,我们会在以后加入其他语言,比如日语,德语和法语等。
正则表达式
自动生成器更新内容: 1、修复一些小bug。 2、增加自定义组和限定词的
正则表达式
3、增加自定义窗口背景 4、增加自定义按钮背景 5、修改软件时间为UTC时间(日志除外) 6、修改更新模块
正则表达式
自动生成器截图:
Java
正则表达式
规则(技术文档)
java
正则表达式
规则,包含java
正则表达式
基本知识、JavaScript RegExp对象参考手册、支持
正则表达式
的 String 对象的方法、定义
正则表达式
等内容。文档中有表达式的
学习
视频下载,配合文档会有不错的效果!
带你学会
使用
正则表达式
内容简介:
正则表达式
,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。计算机科学的一个概念。
正则表达式
使用
单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,
正则表达式
通常被用来检索、替换那些符合某个模式的文本。 本门课程主要讲解
正则表达式
的引用场景和一些基础用法,让大家对
正则表达式
有一个清晰地认识。 为什么需要掌握
正则表达式
?
正则表达式
非常灵活、而且功能非常强大,它可以迅速地用极简单的方式达到字符串的复杂控制。而对于刚接触的人来说,
正则表达式
比较晦涩难懂。这门课程可以非常快速的帮助大家理解
正则表达式
,以及掌握如何在实际场景中用到它。课程大纲: 为了让大家快速系统了解
正则表达式
知识,我为您总结了思维导图,帮您梳理
学习
重点,建议收藏!
Kotlin利用Regex如何构建
正则表达式
详解
前言 对于
正则表达式
,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有
规律
可寻,而且全是一堆各种各样的特殊符号,完全不知所云。 其实只是对正则不了解而以,了解了你就会发现,原来就这样啊~~正则所用的相关字符其实不多,也不难记,更不难懂,唯一难的就是组合起来之后,可读性比较差,而且不容易理解,最近在
学习
kotlin,Kotlin 提供了一个
正则表达式
类 Regex,下面来一起
学习
下吧。 Regex 提供了丰富而简单实用的函数。 函数名称 功能说明 matches(input: CharSequence): Boolean 输入字符串全部匹配 cont
正则表达式
编写工具(RegexMagic)v2.7.0英文免费安装版
RegexMagic是一个编写编辑
正则表达式
的免费工具,有多种辅助功能,为你提供功能强大的
正则表达式
编写、测试、Debug功能 RegexMagic功能: RegexMagic可以
学习
你的正则表达范例,以实例来自动匹配你的正则表达 首先, 给出一些你想要匹配正则的文本或者数字. RegexMagic可以自动分析它们的正则
规律
如文本. 数字, 日期, 电邮地址等. 其中的特别部分你可以自行
JavaScript
87,910
社区成员
224,616
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章