但是,匹配table的起始标签有点难度,因为可能有属性。不过之前匹配过链接了,这个也大同小异。
实例table代码如下:
<table cellpadding="2" cellspacing="3">
<table>
正则:
/<table\s(\s*\w*?\s*=\s*".+?")*?\s*?>/g 匹配一个<table,在匹配若干个属性,最后只要再找到>就代表标签结束。
之后再replace一下,加上<tbody>就可以了。
去掉标签的所有属性
<td >
变成没有任何属性的
<td>***</td>
思路:非捕获匹配属性,捕获匹配标签,使用捕获结果替换掉字符串。正则如下:
/(<td)\s(?:\s*\w*?\s*=\s*".+?")*?\s*?(>)/ 首先,td匹配掉了标签,后面可以用$1引用,后面的若干属性被(?:)匹配掉,而最后匹配的>则可以在后面用$2引用。
示意代码:
str = str.replace(reg,’$1$2’);
正则替换特定单词
要求禁止输入某几个单词,如果拒绝red,yellow,white。这个帖子到时不难,但是让我弄清楚了好几个概念。
第一个,小心字符集合里的“或”
/[^red|yellow|white]/ 这个正则里的所有或都没有意义,等同于:
/[^redyellowwhite]/ 意思就是不能含有以下列出的所有字母。
正解:
/red|yellow|white/第二个概念:
只要整个正则匹配成功,无论子正则表达式是否匹配成功,括号都会捕捉。例如
/(red)|(yellow)|(white)/ 会捕捉到三个结果,尽管实际上最多只可能有一个括号匹配成功。但是只要有一个匹配到了,两外两个也会记录空串。
指定文字高亮显示
请教正则表达式:如何替换搜索结果中的关键字为高亮显示?
不劳而获一次,这个子虚乌有前辈已经给出了非常好的解决方案:我直接把代码贴出来了:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
<html xmlns="http://.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<META content="Sheneyan" />
<script type="text/javascript">
function encode(s){
return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/([\\\.\*\[\]\(\)\$\^])/g,"\\$1");
}
function decode(s){
return s.replace(/\\([\\\.\*\[\]\(\)\$\^])/g,"$1").replace(/>/g,">").replace(/</g,"<").replace(/&/g,"&");
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-36054-20.html
宋茜也美美的@在法家拿到五冠王的瓦片