建站知识

分享
  • 收藏
    X
    Dreamweaver 正则表达式字符查找替换方法($1,$2使用说明)
    37
    0

    用好了Dreamweaver的正则表达式查找替换功能,可以大大的加快我们的工作效率,最近有机会用到了正则要不太麻烦了,特分享下,方便以后学习查找资料


    1.打开“查找和替换"对话框

    2.在“查找范围"选项中选择“文件夹",然后选择要进行批量替换的文件夹(当然,也可以选择“当前文档")

    3.在“查找"中加入: ([A-z]*)

    4.在“替换"中加入:$1

    5.在“选项"中选择“使用正则表达式"(请注意,一定要选择这个哦)

    6.单击“全部替换"就行了。

    分析:

    整个过程中,最重要是第三和第四步。在第三步中,用到了正则 ([a-z]*)。这是什么意思呢?根据正则语法:
    (pattern)--匹配pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。注意,在Dreamweaver中是从$1开始的。

    [xyz] -- 匹配所包含的任意一个字符。[A-z]就表示匹配任意大小写英文字符。

    * -- 匹配前面的子表达式零次或多次,在本例中就是匹配[a-z]零次或多次。

    整个表达式([A-z]*)就表示:匹配任意多个连续的大小写英文字符,并且所产生的区配可以从Matches中得到。

    由上面的解释,很容易就能知道,第四步中的$1代表的是Matches集合中的第一个匹配。在本例中也就是任意多个连续的英文字符。至于详细的正则表达式语法,可以到网上查找,或许下个 JavaScript.chm里面也能找到,我在这里就不展开了。

    另外,说来也搞笑,刚学正则的时候,总是不知道怎样匹配任意文本。后来经过一番研读,终于给匹配出来了,其实说来也很简单,不就是任意非空白字符和空白字符的组合嘛:([\s\S]*)

    还有要提醒一下大家的是,如果要进行上面的那种标签形式,Dreamweaver还提供了另外一种更为直观的方法,具体我也不多话,在“查找和替换"的“搜索选项中选择“指定标签"就会看到。

    总结:Dreamweaver提供了非常强大的查找与替换功能。灵活的运用它提供的各种方法,将会给工作带来更多的便利。

    例:

    网页1:<TITLE>教学网</TITLE><h1>珍视学生的自主阅读</h1>网页2: <TITLE>教学网</TITLE><h1>做一个热爱读书的学生</h1> 如上,我有一组静态网页,TITLE标签内全部相同,想用h1标签中的标题文本,批量替换TITLE标签中的标题文本。请问,如何用DW正则表达式批量操作!

    查找
    <TITLE>.*?</TITLE>([\s\S]*?)<h2>(.*?)<\/h2>
    替换为
    <TITLE>$2</TITLE>$1<h2>$1</h2>
    记得勾选上 使用正则表达式

    用好了Dreamweaver的正则表达式查找替换功能,可以大大的加快我们的工作效率!
    original search replace result

    原字符:abc
    查找正则:(ab)(c)
    替换正则:$1-$2
    结果:ab-c

    例子2: 里面包含了括号 单引号等

    查找:href="javascript:if\(confirm\('(.*?) '\)\)window\.location='(.*?)'"
    替换: $1

    前一段时间网站改版,需要更改原文的一些规律性的东西,找了很久,收集了几条关于DW中用正则表达式查找替换的资料,特分享如下:

    在Dreamweaver中打开一个或多个网页,在源代码中点击“编辑">“查找和替换",点击勾选“正则表达式"选项:

    1.找到或替换网页的tppabs="..."代码。
      在“查找"栏填入tppabs="[^"]*",就可以找到或替换网页的tppabs="..."代码。

    2.找到或替换网页表格的高度代码。
      在“查找"栏填入 height="\d+",就可以找到或替换网页表格的高度代码。

    3.找到或替换网页背景色代码。
      在“查找"栏填入 bgcolor="[^"]*",就可以找到或替换网页背景色代码。

    4.找到或替换网页的JS代码。
      在“查找"栏填入<script (.|\s|\n)*?</script>,就可以找到或替换网页的JS代码。

    5.找到或替换网页的式样表代码。
      在“查找"栏填入<style type="text/css">(.|\\s|\\n)*?</style>,就可以找到或替换网页的式样表代码。

    6.找到或替换网页中各种类型的表格代码。
      在“查找"栏填入<table border="0" cellspacing="0" width="778" height="51">(.|\s|\n)*?</table>,就可以找到或替换网页中该类型的表格代码。

    7、今天看到播布客上几个视频比较好,于是准备下载~但是太懒,不想一个一个的下,就运用一下Dreamweaver正则表达式替换。

    播布客视频的地址有一定的规律,如 http://www.baidu.com/v/bbk1234 这个是在线观看的地址,下载地址是 http://www.baidu.com/v/bbk1234.zip

    先将网页上的所有视频地址复制到Dreamweaver,再打“开查找替换"功能。

    查找: http://www.baidu.com/v/bbk(\d) 替换:http://www.baidu.com/v/bbk$1.zip

    这样就完成了替换工作~很简单

    常用的通配符(正则表达式)

    1..匹配除换行符以外的任意字符。
    2.\w匹配字母或数字或下划线或汉字。
    3.\d匹配数字。
    4.\s匹配任意的空白符。
    5.\b匹配单词的开始或结束。
    6.^匹配字符串的开始。
    7.$匹配字符串的结束。
    8.*匹配重复零次或更多次。
    9.+匹配重复一次或更多次。
    10.?匹配重复零次或一次。
    11.{n}匹配重复n次。
    12.{n,}匹配重复n次或更多次。
    13.{n,m}匹配重复n到m次。
    14.\W匹配任意不是字母,数字,下划线,汉字的字符。
    15.\S匹配任意不是空白符的字符。
    16.\D匹配任意非数字的字符。
    17.\B匹配不是单词开头或结束的位置。
    18.[^x]匹配除了x以外的任意字符。
    19.[^aeiou]匹配除了aeiou这几个字母以外的任意字符。


    Dreamweaver替换正则表达式表

    下表列出了在正则表达式中使用的特殊字符、其含义和用法示例。若要搜索包含该表中某一特殊字符的文本,请在特殊字符前面附加一个反斜杠,令其“转义 "。例如,若要在 some conditions apply* 短语中搜索实际的星号,您的搜索模式应类似于:apply\*。如果您没有令星号转义,您将找到“apply"的所有匹配项(以及“appl"、 “applyy"和“applyyy"的所有匹配项),而不只是后面跟有星号的那些匹配项。

    字符匹配示例
    ^输入或行的起始部分。^T 匹配“This good earth"中的“T",但不匹配“Uncle Tom&rsquo;s Cabin"中的“T"。
    $输入或行的结尾部分。h$ 匹配“teach"中的“h",但是不匹配“teacher"中的“h"
    *0 个或多个前置字符。um* 匹配“rum"中的“um"、“yummy"中的“umm"以及“huge"中的“u"
    +1 个或多个前置字符。um+ 匹配“rum"中的“um"和“yummy"中的“umm",但在“huge"中没有任何匹配项
    ?前置字符最多出现一次(即,指示前置字符是可选的)。st?on 匹配“Johnson"中的“son"和“Johnston"中的“ston",但在“Appleton"和“tension"中没有任何匹配项
    .除换行符外的任何单字符。.an 匹配短语“bran muffins can be tasty"中的“ran"和“can"
    x|yx 或 y。FF0000|0000FF 匹配 bgcolor="#FF0000" 中的“FF0000"和 font color="#0000FF" 中的“0000FF"
    {n}恰好 n 个前置字符。o{2} 匹配“loom"中的“oo"和“mooooo"中的前两个“o",但在“money"中没有任何匹配项
    {n,m}至少 n 个、至多 m 个前置字符。F{2,4} 匹配“#FF0000"中的“FF"和“#FFFFFF"中的前四个“F"
    [abc]用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于 [abcdef])。[e-g] 匹配“bed"中的“e"、“folly"中的“f"和“guard"中的“g"
    [^abc]未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。[^aeiou] 最初匹配“orange"中“r"、“book"中的“b"和“eek!"中的“k"
    /b词边界(例如空格或回车符)。/bb 匹配“book"中的“b",但在“goober"和“snob"中没有任何匹配项
    /B词边界之外的任何内容。/Bb 匹配“goober"中的“b",但在“book"中没有任何匹配项
    /d任何数字字符。等效于 [0-9]。/d 匹配“C3PO"中的“3"和“apartment 2G"中的“2"
    /D任何非数字字符。等效于 [^0-9]。/D 匹配“900S"中的“S"和“Q45"中的“Q"
    /f换页符。
    /n换行符。
    /r回车符。
    /s任何单个空白字符,包括空格、制表符、换页符或换行符。/sbook 匹配“blue book"中的“book",但在“notebook"中没有任何匹配项
    /S任何单个非空白字符。/Sbook 匹配“notebook"中的“book",但在“blue book"中没有任何匹配项
    /t制表符。
    /w任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。b/w* 匹配“the barking dog"中的“barking"以及“the big black dog"中的“big"和“black"
    /W任何非字母数字字符。等效于 [^A-Za-z0-9_]。/W 匹配“Jake&Mattie"中的“&"和“100%"中的“%"
    Control+Enter 或 Shift+Enter (Windows)、 或者 Control+Return 或 Shift+Return 或 Command+ Return (Macintosh)回车符。确保如果没有使用正则表达式,则在搜索时取消对“忽略空白差别"的选择。请注意,这匹配特定字符,而不是一般意义上的换行符;例如,它不匹配 <br> 标签或 <p> 标签。回车符在“设计"视图中显示为空格而不是换行符。

    使用括号在正则表达式内分隔出以后要引用的分组。然后在“替换"域中使用 $1、$2、$3 等来引用第一个、第二个、第三个和更后面的括号分组。 注意:在“查找内容"文本框中使用 /1、/2、/3 等(而不是 $1、$2、$3)来引用正则表达式中更早的括号分组。 例如,通过搜索 (/d+)//(/d+)//(/d+) 并用 $2/$1/$3 替换它,可以在由斜杠分隔的日期中交换日和月(因此可以在美国样式日期和欧洲样式日期之间进行转换)。 

    0
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    问题分类
    扫一扫访问手机版

    在线
    客服

    在线客服服务时间:7*24小时

    选择下列产品马上在线沟通:

    客服
    热线

    187 5608 8850
    7*24小时客服服务热线

    微信
    客服

    扫一扫咨询销售顾问

    返回
    顶部