常用批量替换的正则表达式-批量删除tppabs

栏目:建站技术 2020-10-30

匹配一行的开头,然后在一行开头前加入指定字符串,比如修改hosts文件在域名前面加入127.0.0.1      

^(.{1,})

127.0.0.1       $1

如果是sublime Text编辑器,按ctrl+H,然后在弹出的窗口中点击“.*”,如果要匹配一行的行尾,则是^(.{1,})$


匹配A标签的超连接的正则表式如下
$pattern = "/<a[^>]+?href=[\"']?([^\"']+)[\"']?[^>]*>([^<]+)<\/a>/i";


匹配百度编辑器上传的附件之后的获取附件路径,名称,后缀,以及><之间的文本
$pattern = "/<a[^>]+?href=[\"']?(\/public\/[^\"']+)[\"']?\s+title=[\"']?([^\.\\s]+)\.([^\\s\"']+)[\"']?[^>]*>([^<]+)<\/a>/i";

preg_match_all($pattern , $content, $matches);


匹配百度编辑器多张单图上传图片之后的获取路径,名称,后缀

$pattern = '/<img\s+alt=["\']?([^\.]+?)\.([^\.]+?)["\']?\s+src=["\']?([^"\'\\s]+)["\']?\s+[^>]*?>/i';
preg_match_all($img_pattern , $content, $matches);


匹配百度编辑器多图上传图片之后的获取路径,名称,后缀

$pattern = '/<img\s+src=["\']?([^"\'\\s]+?)["\']?\s+style=["\']?[^"\'\\s]*?["\']?\s+title=["\']?([^\.]+?)\.([^\'"]+)["\']?[^>]*?>/i';
preg_match_all($img_pattern , $content, $matches);


通过正则表达式获取得表名
preg_match_all('/\*\s+from\s+[\w\[\]]*\.?[\w\[\]]*\.?\[?(\b\w+)\]?[\r\n\s]*/i',"select * from sznest",$match);
$tablename = $match[1][0];

通过正则表达式获取img图片

preg_match_all('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$content,$match)


匹配坐机的正则表达式如下
\b[0-9]{3,4}-[0-9]{7,8}    匹配区号后面有中杠的
\([0-9]{3,4}\)[0-9]{7,8}   匹配区号带括号的
下面的可以合并为下面的一行
[\(]?[0-9]{3,4}[\)]?[-]?[0-9]{7,8}


匹配手机的正则表达式如下
\b1[0-9]{10}

匹配邮箱的正则表达式如下

  [a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?

匹配时间的正则表达式如下
([0-9]{4}/[0-9]{1,2}/[0-9]{1,2}\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}
比如2017/1/10 15:53:55
如果要匹配2017/1/10 15:53:55      点击:
([0-9]{4}/[0-9]{1,2}/[0-9]{1,2}\s[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}\s+点击:)\r\n
\r\n表示匹配文字后面的换行符

 
匹配地址的正则表式如下:
地址[^<]*
 
匹配汉字的正则表式如下:
 

常用元字符作用
\d匹配一个数字字符。等价于[0-9]
\D匹配一个非数字字符。等价于[^0-9]
\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]
\S匹配任何非空白字符。等价于[^ \f\n\r\t\v]
\t匹配一个制表符。等价于\x09和\cI
\w匹配包括下划线的任何单词字符。等价于"[A-Za-z0-9_]"
\W匹配任何非单词字符。等价于“[^A-Za-z0-9_]”,比如汉字、单引号、双引号、等号
 


如何一次性删除DW中的tppabs标签?

这是Teleport  Pro软件留下的标记。该软件是离线浏览器,下载完整个网页后,它会在图片或超级链接标签内插入tppabs标签,比如类似这样子的 tppabs=“http://www.netnes.me/”,以记录该图片或超级链接指向的原始地址。因为这个标签不是合法标签,所以普通浏览器会忽 略它。你可以通过element.getAttribute("tppabs")在JS中读取这个属性。  如果要快速一次性的清除网页文档中的这段多余的代码,可以在 DreamWeaver中使用正则表达式批量清除这种代码.

正则表达式具体写法如下:

匹配tppabs标签:
 \btppabs="[^"]*"

替换为空即可
说明一下:\b  是匹配一个单词边界,也就是指单词和空格间的位置,[^xyz]是负值字符集合,匹配未包含的任意字符,在这里的[^"]即匹配未包含双引号的任意字符 (注意这里是指单个字符,不是指字符串),后面的*是匹配前面的子表达式零次或多次,那么[^"]这个与*组合即表示要多次匹配不包含"的字符,最后面的 是一个双引号就是匹配双引号,在这时顺便再举一个例子来以及给出正则表达式

下面是一段因编码问题生成的一段代码,这段代码对于浏览器来说也是无法解释和执行的
href="javascript:if(confirm(’http://www.www.sznest.net/1283870104/-1  \n\n?ļ???δ?? Teleport Pro ȡ?أ???Ϊ ??????????δ?ҵ????ļ???  \n\n??Ҫ?ӷ??????ϴ?????’))window.location=’http://www.baidu.com/1283870104/-1’"  

匹配类似上面的代码的正则表式\bhref="javascript:if[^"]*'"这个来替换.

如果要获取location后面的网址可以使用
\bhref="javascript:if[^"]*location='([^"]*)'"
这个正则表达式,  然后后面的替换则是
href="$1"


类似上面的两种情况可以用下面的正则表达式来替换

\(\"\s{1,}([^"]*)\"\)匹配(" big_class_name ")
匹配第一个双引号后面至少带一个空格

\(\s{1,}\"([^"]*)\"\)匹配( "is_show")

匹配第一个双引号前面至少带一个空格

\(\"\s{1,}([^"|^\s]*)\s{1,}\"\)匹配(" is_show ")

匹配第一个双引号前面至少带一个空格以及第二个分号前面至少带一个空格

("$1")


正则表达式Trim\(Request.Form\(\"(.*[^"])"\)\)

匹配
Trim(Request.Form("张三"))
Trim(Request.Form("李四"))


正则表达式Trim\(Request.querystring\(\"(.*[^"])"\)\)
匹配
Trim(Request.QueryString("ID"))
Trim(Request.QueryString("Paixu"))


正则表达式Trim\(getRQ\(\(\"(.*[^"])"\)\)\)
匹配
trim(getRQ(("bid")))


正则表达式response\.write \"(.*[^"])\"
匹配
response.write "目前共有 0 个banner"
response.write "checked"
response.write "(checked)"


onClick="javascript:window.location.href='web/test.cn/index.htm'/*tpa=test.cn/web/*/"
下面的代码要获取href中的两个单引号的值的正则表达式是

\bonClick="javascript:window.location.href='([^']*)'[^"]*"
这个正则表达式,  然后后面的替换则是
onClick="$1"


preg_match_all("/^\(\d+(,\d+)*\)$/",$str,$out)

匹配(1) (1,2) (11,2,22) (123,123,231,1231,1212)等


preg_match_all("/^\d+(,\d+)*$/",$str,$out)

匹配1 1,2 11,2,22 123,123,231,1231,1212 等


匹配php长标签与短标签
<\?php echo\s{1,}\$[^[?>]*\[['|"][^'"?>]*['|"]];\s{0,2}\?>
<\?php echo\s{1,}(\$[^[?>]*\[['|"][^'"?>]*['|"]]);\s{0,2}\?>
<?=$1?>
匹配下面的两种情况
<?php $value['abc']; ?>
<?php $value["abc"]; ?>

<\?php\s{1,}echo\s{1,}\$[^;]*;\?>
<\?php\s{1,}echo\s{1,}(\$[^;]*);\?>
匹配下面的这种情况
<?php echo $mobile;?>

<\?php\s{1,}echo\s{1,}([^;]*)\?>
<\?php\s{1,}echo\s{1,}(\$[^;]*);\s{1,}\?>
<\?php\s{1,}echo\s{1,}([^;]*);\s{0,}\?>

<\?=\(\$[^)]*\)\?>
<\?=\((\$[^)]*)\)\?>
匹配下面的这种情况
<?=($msgtype)?>


<\?=\$[^[?]*\['[^'[?]*'\]\?>
匹配下面的这种情况
<?=$value['abc']?>

<\?=\$[^[?]*\["[^"?]*"\]\?>
匹配下面的这种情况
<?=$value["abc"]?>


<\?=(\$[^[?]*)\["([^"?]*)"\]\?>
<?=$1['$2']?>
把下面的双引号变成单引号
<?=$v1["cname"]?>
<?=$v1['cname']?>

相关阅读

数据库操作工具类SqlHelper

2020-10-1060

classSqlHelper{public$conn;public$host=&quot;localhost&quot;;public$username=&quot;root&quot;;public$password=&quot;root&quot;;public$dbname=&quot;mydb&quot;;publicfunction__constr…

qq收不到或发不了图片及解决方案

2020-10-10229

要想解决qq收不到图片或是发不了图片,就要首先弄清楚原因何在?只有找到了原因,才能有的放矢,然后提出我们自己的解决方案,以至于最后彻底解决。第一种显而易见的原因是当时你所在地的网络特别慢,以至于QQ只能发送些文字,图片以文件的方法一发就卡住,或是以截图的方式发过去,对方看到的图片始终是处于加载过程的“小漏斗”状,最后就显示叉叉。还有另外一种情况,就是本身的网…

手机访问电脑网时自动跳转代码

2020-10-1052

4G降临,移动网站已经一发不可收拾,pc端和移动端官网并存。如何让别人访问你的pc端的官网直接跳转到移动端的网站呢?各位看官,小二上代码!来了!varurl=window.location.href;varurl_match=/vit=1$/i;if(!url.match(url_match)){if(navigator.userAgent.match(/(…

帝国CMS-采集关键的经验总结

2020-10-1025

采集关键的几个步骤一:先建好栏目二:增加采集节点(需要选择栏目)三:录入节点名称四:如果有很多页,只需录入采集页面地址方式二中的内容地址为http://www.sznest.net/news.asp?big_class_id=3&amp;page=[page]页码从1到多少页之间、间隔倍数为1(这个多少页即被采集的网站的实际页数,注意这里修改后,在采集页面地…

如何解决网站上传大文件的问题?

2020-10-10115

为了服务器的网络安全,避免因为超大文件导致服务器故障,所以对文件上传的大小限制是很有必要的,但是有些客户又有上传大文件的需求,比如上传pdf或者压缩包这种格式的文件,那么碰到这种情况下,如何解决这个问题呢?在浏览器输出phpinfo();查看LoadedConfigurationFile这个参数可以获取php.info的文件位置1:如果上传的文件太大,会导致…

TP5请求信息与请求参数

2020-10-1064

&lt;?phpnamespaceappindexcontroller;usethinkController;usethinkRequest;classIndexextendsController{publicfunctionindex(){//index/index/index/name/zs/age/18/sex/nan//使用函数助手不需要usethi…