常见问题的正则表达式解决方案
来源:互联网 发布:无线多重网络什么意思 编辑:程序博客网 时间:2024/05/15 02:53
1.匹配北美电话号码
要匹配的文本:
J.Doe: 248-555-1234
B.smith: (313) 555.1234
A.Lee:(810)555.1234
M.Jones:248.555.1234
正则表达式:[\(.]?[2-9]\d\d[\).]?[ -]?[2-9]\d\d[-.]\d{4}
• 中国固定电话号码
要匹配的文本:
029 8845 7890
029 88457890
(029) 8845 7890
(029) 88457890
029-8845 7890
029-88457890
029-8845-7890
正则表达式:\(?0[1-9]\d{1,3}\)?[ -]?[2-9]\d{2,3}[ -]?\d{4}
2.美国邮政编码
要匹配的文本:
999 1st Avenue ,Bigtown,NY,11122
123 High Street,Any City,MI,48034.1234
正则表达式:\d{5}(.\d{4})?
• 中国的邮政编码:/d(9|[0-7])\d{4}
3.IP地址
要匹配的文本:
localhost is 127.0.0.1
正则表达式:
(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])
4.URL地址
要匹配的文本:
http://www.forta.com/blog
https://www.forta.com:80/blog/index.cfm
http://www.forta.com
http://ben:password@www.forta.com/
http://localhost/index.php?ab=1&c=2
http://localhost:8500/
正则表达式:
https?://[-\w.]+(:\d+)?(/(\w/_.|*)?)?
• 完整的URL地址
要匹配的文本:
http://www.forta.com/blog
https://www.forta.com:80/blog/index.cfm
http://www.forta.com
http://ben:password@www.forta.com/
http://localhost/index.php?ab=1&c=2
http://localhost:8500/
正则表达式:
https?://(\w*:\w*@)?[-\w.]+(:\d+)?(/([\w/_.|]*(\?\s)?)?)?
注:(\w*:\w*@)? 匹配嵌在URL字符串里的用户名和口令
[-\w.]+ 匹配主机名
(:\d+)? 匹配一个可选的端口号
5.电子邮件地址
要匹配的文本:
my name is ben forta,and my email address is ben@forta.com
正则表达式: (\w+\.)*\w+@(\w+\.)+[A-Za-z]+
(\w+\.)*\w+ 匹配用户名部分,即@之前的所有文本
(\w+\.)+ 匹配以.结束的字符的一次或多次的重复出现
[A-Za-z]+ 匹配顶级域名(com 、edu 、us 或uk等)
6.HTML注释
要匹配的文本:
<!--start of page-->
<HTML>
<!--start of head-->
<HEAD>
<TITLE>Title</TITLE><!--page title-->
</HEAD>
<!--start of body-->
<BODY>
</BODY>
</HTML>
正则表达式:<!-{2, }.*?-{2, }>
<!-{2, } 匹配HTML注释的开头部分
.*? 匹配HTML注释的开头部分
{2, }> 匹配HTML注释的开头部分
7.javascrpt里的注释
正则表达式: //.*
要匹配的文本:
J.Doe: 248-555-1234
B.smith: (313) 555.1234
A.Lee:(810)555.1234
M.Jones:248.555.1234
正则表达式:[\(.]?[2-9]\d\d[\).]?[ -]?[2-9]\d\d[-.]\d{4}
• 中国固定电话号码
要匹配的文本:
029 8845 7890
029 88457890
(029) 8845 7890
(029) 88457890
029-8845 7890
029-88457890
029-8845-7890
正则表达式:\(?0[1-9]\d{1,3}\)?[ -]?[2-9]\d{2,3}[ -]?\d{4}
2.美国邮政编码
要匹配的文本:
999 1st Avenue ,Bigtown,NY,11122
123 High Street,Any City,MI,48034.1234
正则表达式:\d{5}(.\d{4})?
• 中国的邮政编码:/d(9|[0-7])\d{4}
3.IP地址
要匹配的文本:
localhost is 127.0.0.1
正则表达式:
(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])
4.URL地址
要匹配的文本:
http://www.forta.com/blog
https://www.forta.com:80/blog/index.cfm
http://www.forta.com
http://ben:password@www.forta.com/
http://localhost/index.php?ab=1&c=2
http://localhost:8500/
正则表达式:
https?://[-\w.]+(:\d+)?(/(\w/_.|*)?)?
• 完整的URL地址
要匹配的文本:
http://www.forta.com/blog
https://www.forta.com:80/blog/index.cfm
http://www.forta.com
http://ben:password@www.forta.com/
http://localhost/index.php?ab=1&c=2
http://localhost:8500/
正则表达式:
https?://(\w*:\w*@)?[-\w.]+(:\d+)?(/([\w/_.|]*(\?\s)?)?)?
注:(\w*:\w*@)? 匹配嵌在URL字符串里的用户名和口令
[-\w.]+ 匹配主机名
(:\d+)? 匹配一个可选的端口号
5.电子邮件地址
要匹配的文本:
my name is ben forta,and my email address is ben@forta.com
正则表达式: (\w+\.)*\w+@(\w+\.)+[A-Za-z]+
(\w+\.)*\w+ 匹配用户名部分,即@之前的所有文本
(\w+\.)+ 匹配以.结束的字符的一次或多次的重复出现
[A-Za-z]+ 匹配顶级域名(com 、edu 、us 或uk等)
6.HTML注释
要匹配的文本:
<!--start of page-->
<HTML>
<!--start of head-->
<HEAD>
<TITLE>Title</TITLE><!--page title-->
</HEAD>
<!--start of body-->
<BODY>
</BODY>
</HTML>
正则表达式:<!-{2, }.*?-{2, }>
<!-{2, } 匹配HTML注释的开头部分
.*? 匹配HTML注释的开头部分
{2, }> 匹配HTML注释的开头部分
7.javascrpt里的注释
正则表达式: //.*
0 0
- 常见问题的正则表达式解决方案
- 常见的正则表达式解决方案
- Java正则表达式常见问题
- 正则表达式的汇总和几个常见问题的解答
- 正则表达式的汇总和几个常见问题的解答
- Java正则表达式中的常见问题
- OWA常见问题的解决方案
- 常见问题的解决方案
- 正则表达式匹配超链接解决方案
- 关于正则表达式匹配无异常资源耗尽的解决方案
- EasyDSS流媒体解决方案之正则表达式的使用
- 正则表达式中的*,+,?以及\w和\W的区别等常见问题的总结
- WINDOWS常见问题的最佳解决方案
- myeclipse遇见的常见问题解决方案
- c# 正则表达式中的一些解决方案
- php全局变量和正则表达式错误解决方案
- 正则表达式---常用的正则
- 正则表达式---常用的正则
- 白领的消亡
- 点击popupwindow窗口之外的区域popupwindow消失
- request.getSession(false);中的false是什么意思
- 1082. Read Number in Chinese (25)
- 通过pip install下载包失败改用网上下载包的方法
- 常见问题的正则表达式解决方案
- Android Studio配置Annotations
- android指定数据库的路径
- vimdiff 使用比较
- AndroidStudioTutorial_160218S004_创建Fragment
- WebView的一些简单用法
- DAO设计模式
- word不显示fonts文件夹中的字体
- Eclipse Import Project