正则表达式匹配Html标签

查找所有的TD区域(最短):

<td\s*.>\s.*</td>

查找所有的TR:

<tr.(?=>)(.|\n)?

查找所有的TD:

<td.(?=>)(.|\n)?

正则表达式匹配Html标签

例1.

以下是一段Html代码

其它内容...

典经HTML正则表达式!

其它内容...

正则表过式:<table.*(?=headline)

说明:正则表达式匹配表格开始标记,能够返回开始标记直至 "headline"之间的所有内容(换行除外);就是以上红色标示出来的部分.

原理:

其它内容...

典经HTML正则表达式!

其它内容...

正则表达式:<table.(?=headline)(.|\n)?

说明:匹配最长的以 <table border=“0” width=“11%” class=" 开始, 以结束的字符串,就是以上以红色标示出来的部分.

原理:

<table.(?=headline) //参见记录1的说明(.|\n) //指示在两个或多个项之间进行选择,(zlf)ood 与 “zood” 或 “food” 匹配? //应与上一个 (.|\n) 联合起来看, .*? 就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复,懒惰模式.

//匹配的结束标记注意:"(.|\n)"后面的 "*" 匹配 0 个到多个任意字符,而"?"使得"*"匹配范围最小化,即在找到表达式的下一部分之前匹配尽可能少的字符. 是表格的结束标记.

例3.

<tableboder=“0” width=“11%” class=“somestory”>

其它内容...

<tableborder=“0” width=“11%” class=“headline”>

典经HTML正则表达式!

<tableboder=“0” width=“11%” class=“someotherstory”>

其它内容...

正则表达式:<(?[\s>]+)[>]>(.|\n)?</\k>

说明:匹配成对的HTML标签,它将会匹配Html标签及标签中的内容,本例分三段匹配三个

标签及
中的内容.

原理:

< //html标签中的 <(?[^\s>]+) // (?), 分组命名的方式,[\s>]:非任何空白字符及">"至少匹配一次[>]*> //非">“匹配 0 到 n 次,及html的标签”>".

(.|\n) //在两个或多个项之间时行选择,(zlf)ood 与 “zood” 或 “food” 匹配.

? // 应与上一个(.|\n)联合起来看, .? 就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复,懒惰模式.

</\k> //反向引用命名的组,语法为 \k, 及html 标签">“注意:”(.|\n)"后面的 "" 匹配 0 个到多个任意字符,而"?“使得”"匹配范围最小化,即在找到表达式的下一部分之前匹配尽可能少的字符.

本例使用了分组命名及反向引用命名组的概念.

正则表达匹配中文

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

1、先用js把中文转换16进制码:d.innerHTML = escape(“你们”); 得到 %u4F60%u4EEC, 即 \u4F60\u4EEC2、var arr = str.match(/\u4F60\u4EEC/g);

3、\u4F60为单个汉字"你".

4、以上测试程序为javascript

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值