javascript 之正则匹配HTML
| 正则表达式 | <(\S*?) [^>]*>.*?</\1>|<.*? /> |
|---|---|
| 匹配 | <html>hello</html>|<a>abcd</a> |
| 不匹配 | abc|123|<html>ddd |
| 正则表达式 | ^[^<>`~!/@\#}$%:;)(_^{&*=|'+]+$ |
|---|---|
| 匹配 | This is a test |
| 不匹配 | <href = | <br> | That's it |
| 正则表达式 | <!--.*?--> |
|---|---|
| 匹配 | <!-- <h1>this text has been removed</h1> --> | <!-- yada --> |
| 不匹配 | <h1>this text has not been removed</h1> |
| 正则表达式 | (\[(\w+)\s*(([\w]*)=('|")?([a-zA-Z0-9|:|\/|=|-|.|\?|&]*)(\5)?)*\])([a-zA-Z0-9|:|\/|=|-|.|\?|&|\s]+)(\[\/\2\]) |
|---|---|
| 匹配 | [link url="http://www.domain.com/file.extension?getvar=value&secondvar=value"]Link[/li |
| 不匹配 | [a]whatever[/b] | [a var1=something var2=somethingelse]whatever[/a] | [a]whatever[a] |
| 正则表达式 | href=[\"\'](http:\/\/|\.\/|\/)?\w+(\.\w+)*(\/\w+(\.\w+)?)*(\/|\?\w*=\w*(&\w*=\w*)*)?[\"\'] |
|---|---|
| 匹配 | href="www.yahoo.com" | href="http://localhost/blah/" | href="eek" |
| 不匹配 | href="" | href=eek | href="bad example" |
| 正则表达式 | "([^"](?:\\.|[^\\"]*)*)" |
|---|---|
| 匹配 | "This is a \"string\"." |
| 不匹配 | "This is a \"string\". |
| 正则表达式 | (?i:on(blur|c(hange|lick)|dblclick|focus|keypress|(key|mouse)(down|up)|(un)?load|mouse(move|o(ut|ver))|reset|s(elect|ubmit))) | ||
|---|---|---|---|
| 匹配 |
|
||
| 不匹配 | click | onandon | mickeymouse |
| 正则表达式 | (?s)/\*.*\*/ |
|---|---|
| 匹配 | /* .................... */ | /* imagine lots of lines here */ |
| 不匹配 | */ malformed opening tag */ | /* malformed closing tag /* |
| 正则表达式 | <(\S*?) [^>]*>.*?</\1>|<.*? /> |
|---|---|
| 匹配 | <html>hello</html>|<a>abcd</a> |
| 不匹配 | abc|123|<html>ddd |
| 正则表达式 | \xA9 |
|---|---|
| 匹配 | © |
| 不匹配 | anything |
| 正则表达式 | src[^>]*[^/].(?:jpg|bmp|gif)(?:\"|\') |
|---|---|
| 匹配 | src="../images/image.jpg" | src="http://domain.com/images/image.jpg" | src='d:\w |
| 不匹配 | src="../images/image.tif" | src="cid:value" |
| 正则表达式 | /\*[\d\D]*?\*/ |
|---|---|
| 匹配 | /* my comment */ | /* my multiline comment */ | /* my nested comment */ |
| 不匹配 | */ anything here /* | anything between 2 seperate comments | \* *\ |
| 正则表达式 | <[a-zA-Z]+(\s+[a-zA-Z]+\s*=\s*("([^"]*)"|'([^']*)'))*\s*/> |
|---|---|
| 匹配 | <img src="test.gif"/> |
| 不匹配 | <img src="test.gif"> | <img src="test.gif"a/> |
javascript 之正则匹配HTML的更多相关文章
- javascript的正则匹配
前段时间需要用到比较多的js代码,当时有点搞不清test和match方法的区别,向百度求助,找到了这边关于正则匹配的博文,感谢作者分享. 原文地址[http://blog.sina.com.cn/s/ ...
- JavaScript 中正则匹配时结果不一致的问题
创建示例项目 考察如下场景,我们有个输入框组件,输入时同时进行校验. interface IInputProps { label: string; } function Input({ label } ...
- 常用的JavaScript正则匹配规则代码收藏,很实用
收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出 ...
- JavaScript 正则匹配中文,中文符号,空格,全数字,以https:// 开头的url,用于各种场景的输入校验
业务场景1: 密码输入框需要验证输入中文,中文符号,空格等情况,以便于给出错误提示 业务场景2: 输入框只允许输入数字的情况 业务场景3: 输入框允许输入均为数字或以https:// 开头的url的情 ...
- JavaScript——正则匹配、正则提取、正则替换
正则匹配 // 匹配日期 var dateStr = '2015-10-10'; var reg = /^\d{4}-\d{1,2}-\d{1,2}$/ console.log(reg.test(da ...
- js正则匹配的一个日常应用
应用实例 1 /** 将段落中的 \n 转换为 <p></p>, 规范存储 */ 2 function formatParagraphForStore(val) { 3 var ...
- JS中正则匹配的三个方法match exec test的用法
javascript中正则匹配有3个方法,match,exec,test: match是字符串的一个方法,接收一个RegExp对象做为参数: match() 方法可在字符串内检索指定的值,或找到一个或 ...
- php中的正则函数主要有三个-正则匹配,正则替换
php中变量的声明? 由于php声明变量的时候, 不支持使用 var关键字, 又不能直接写一个变量名字, 孤零零的放在那里, 所以, 在php中声明变量的方式, 同时也是给变量初始化的形式, 即: & ...
- phpstorm 正则匹配删除注释行(替换注释行为空行)
使用phpstorm 来编写php 和javascript 代码,感觉还是不错的,用得也很舒服. 遇到了一个需求,有时候在阅读框架源代码的时候 , 想过滤(删除)掉源代码中的注释行,如果手动逐行删除显 ...
随机推荐
- U3D4.X版本无法安装MONODEV编辑器
可能是由于机器无法成功安装.NET 4.0的缘故
- FFmpeg编译出错_img_convert 找不到
问题出现在下载的ffmpeg的版本不一样,在0.4.8以前的版本中还有img_convert这个函数,新版本中用sws_getContext和sws_scale代替了.简单说明如下: 新版本的ffmp ...
- Why is processing a sorted array faster than an unsorted array?
这是我在逛 Stack Overflow 时遇见的一个高分问题:Why is processing a sorted array faster than an unsorted array?,我觉得这 ...
- cakePHP的controller回调
1. afterFilter(), executed after all controller logic, including the rendering of the view2. beforeF ...
- Android系统架构说明介绍
Android系统架构说明介绍 Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层分别是应用程序层.应用程序框 ...
- ruby -- 基础学习(四)TimeDate处理
TimeDate格式化输出: DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s #就是按照2013-8-16 16:4 ...
- 编写高质量JS代码的68个有效方法(四)
[20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- 使用stdarg.h实现可变长度参数
现在先用一个使用过程讲解一下: ◎用法: func( Type para1, Type para2, Type para3, … ) { /****** Step 1 ******/ va_list ...
- debian系统root用户登录
Debian默认不允许root登录,所以修改之. 让Debian以root登录 1).首先修改gdm3的设定文件(/etc/gdm3/deamon.conf),在[security]字段后面追加如下一 ...
- JS微信分享不好写?来封装一下
微信开发这块,作为开发工程师来说,一般是避免不了的,也好像发现一些朋友写微信分享都是在每个页面一大把一大把的代码. 代码冗余,即便是复制过来再改也很麻烦. 之前自己封装了一下js,今天来分享一下,希望 ...