匹配多行正则的使用 - 文本软件 /Multiline/RegExp/ By Stabx

原创 2006年06月13日 18:35:00
标题: 匹配多行正则的使用 - 文本软件 /Multiline/RegExp/ By Stabx

正文:

QUOTE:

匹配多行正则的使用 - 文本软件 /Multiline/RegExp/ By Stabx

软件为 UltraEdit && EditPlus && Search and Replace 

1. 抬头见天, 鄙人觉得匹配多行好用顺序为: EditPlus, Search and Replace, UltraEdit 
2. 功能为: Search and Replace, EditPlus, UltraEdit
3. 复杂性为: UltraEdit, Search and Replace, EditPlus
4. 小体会: UE 的 Macro 是小孩子玩的碰碰车, SR 的 Script 是登月用的火箭
注: 以上内容, 排名有分先后

目录: 
1. UltraEdit
2. EditPlus
3. Search and Replace
附: 一个 UE 的 宏 和一个 SR 的脚本

shawl.qiu<shawl.qiuATgmail.com>
绿色学院 | http://blog.csdn.net/btbtd/
2006-6-13


CODE:

CODE:

CODE:

CODE:

附: 一个 UE 的 宏 和一个 SR 的脚本

2. SR 的脚本
目的: 替换 维基百科 页面中我不需要的内容, 并为各个链接重新加上适当链接.
替换后: 只剩下 标题和内容
注: 该脚本适用于维基百科所有语言所有内容页

CODE:

1. UE 的宠
目的: 替换 HTML 大写标签 为小写

CODE:

InsertMode
ColumnModeOff
HexOff
UnixReOff
Top
Loop 
Find MatchCase RegExp "<[A-Z][A-Z0-9]+"
IfFound
ToLower
Else
ExitLoop
EndIf
EndLoop
Top
Loop 
Find MatchCase RegExp "[ ^t^p][A-Z]+[=>]"
IfFound
ToLower
EndSelect
Key LEFT ARROW
Else
ExitLoop
EndIf
EndLoop
Top
UnixReOn

[Script for Search and Replace]
[Options]
Search_subdir=0
Prompt_flag=0
Max Display Chars=4096
Show Progress Dialog=1
Count across files=0
Replace Processing=0
Process Binary Files=1
Output_File=
Show_Files=1
Backup Path=G:/My Documents/replace_backup/
Before Hit=<
After Hit=>
Max Reg Expr=32767
Write to Backup Dir=0
Unzip Dir=D:/DOCUME~1/Phoenix.GI/LOCALS~1/Temp/
Show Files Without Hits=0
Display Replace String=1
Display File Stats=1
Show File Date and Size=1
Reverse Filters=0
Min Size Filter=0
Max Size Filter=0
Min Date Filter=
Max Date Filter=
Skip Files Mask=0
Ignore Attributes=55
Keep file time stamp=0
One hit=0
Sort File Names=0
Sort Ascending=1
Append to output file=0
[Search /ix]
<!DOCTYPE*[]dtd">/n
[Replace]

[Search /ix]
<html*[]">/n
[Replace]

[Search /ix]
<head>*[]/n*[]</head>/n
[Replace]

[Search /ix]
<body*[]>*[]/n*[]<h1 class="firstHeading">
[Replace]
<h1 class="firstHeading">
[Search /ix]
<div class="visualClear"></div>*[]/n*[]
[Replace]
<div class="visualClear"></div></div>
[Search /i]
images/at_pic/
[Replace]

[Search /ix]
http/:////*("/wiki/Category:|"/wiki/)*title/=/"*?/"
[Replace]
"tag.asp?id=tag&tag=%3%4"
[Search /ix]
"http/:////*?/w/*?/=*?*/&/;*?edit/"
[Replace]
"tag.asp?id=tag&tag=%6%7"
[Search /ix]
<script type="text/javascript">*[]</script>
[Replace]

[Search /ix]
/<div*?/[*?/]/<//div/>
[Replace]

[Search /ix]
("/wiki/Category:|"/wiki/)*title/=/"
[Replace]
"tag.asp?id=tag&tag=
[Search /ix]
"/w/*?/=*?*/&/;*?edit/"
[Replace]
"tag.asp?id=tag&tag=%4%5"
[Search /ix]
Category/:
[Replace]

[Search /ix]
/"/w/*article=*/"
[Replace]
"tag.asp?id=tag&tag=%2"
[Search /ix]
src/=/"*/.(png|gif|jpg|jpeg|bmp)*?/"
[Replace]
src="images/at_pic/%1.%2%3"
[Search /ix]
src/=/"http/:////upload*?longdesc/=/"*?/:*?/"
[Replace]
src="images/at_pic/%5%6"
[Search /ix]
src/=/"//skins-1.5//common//images//*/.(png|gif|jpg|jpeg|bmp)"
[Replace]
src="images/at_pic/%1.%2"
[End of Search and Replace Script]

1. UltraEdit
使用心得: 这个软件所谓的 /p or ^p 基本上就是一个摆设, 稍为复杂一点的内容就会耍小家子脾气.
注: UltraEdit 正则分 UltraEdit Syntax || Unix Syntax, 以下使用 Unix Syntax

正则:
--------------
查找: {.*/p*}
替换: (空)
--------------
查找以下内容, 目的删除 { 和 } 中的内容, 包括 {}
    body {
        font: 14px Arial, Helvetica, sans-serif;
        width: 762px;
        padding: 0px;
        margin:0px auto;
        background: transparent url(images/gi_50_410.png) left top fixed no-repeat;
    }
结果:     body 
    //注意! 有时鼠标须移至匹配对象的前面, 有时撒消上次操作就会给你一个 1G 以上的临时文件, 且外加半翘机.
    //如果拷贝以上格式, 需加上跳格符, 如: {.*/p*/t}

2. EditPlus
EP 替换多行的正则很够简单, 可目前已不使用 EP, 改用 UE.
目的: 删除掉 head 标签和该标签中的内容
正则: 
--------------
查找: <head>.*/n.*</head>
替换: (空)
--------------
例:

CODE:
结果为: (空)

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>绿色学院 Green Institute</title>
<style type="text/css">/*<![CDATA[*/ @import "css/css_first/ctindex.css"; /*]]>*/</style>
<script type="text/javascript" src="js/js.js"></script>
</head>

3. Search and Replace
sr 的替换正则其实一点也不复杂, 复杂和不懂的迷糊的是, 使用正则和 选项设置或脚本设置 严重有关系, 不过也很严重的够强劲.

正则: 
--------------
查找: <head>*[]/n*[]</head>
替换: (空)
--------------
目的: 删除掉 head 标签和其内容
例: 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>绿色学院 Green Institute</title>
<style type="text/css">/*<![CDATA[*/ @import "css/css_first/ctindex.css"; /*]]>*/</style>
<script type="text/javascript" src="js/js.js"></script>
</head>
结果: (空)

//注: 如果查找的内容够长, 需要到 视图 中的 选项 里的 搜索设置足够大的默认搜索字数, 否则对的正则也会变成错的.
//另外: 如果使用脚本, 则需要在 视图 中的 脚本 中的 高级中的 选项里 的搜索 设置足够大的字数

Mysql 利用multiline 实现多行匹配

[root@dr-mysql01 mysql]# cat logstash_mysql.conf input { file { type => "zj_...
  • zhaoyangjian724
  • zhaoyangjian724
  • 2016年08月26日 15:24
  • 437

Java正则表达式匹配多行

默认情况下.*中的.只能匹配出\n以外的字符,如果遇到要匹配的字符串包含回车换行符(多行),则正则表达式遇到换行符后会停止,导致包含回车换行符的串不能正确匹配,解决的办法是: 1、使用Pattern...
  • hongweigg
  • hongweigg
  • 2014年09月25日 20:22
  • 21056

Logstash——multiline 插件,匹配多行日志

Logstash——multiline 插件,匹配多行日志
  • wyqlxy
  • wyqlxy
  • 2016年09月22日 14:41
  • 8076

正则表达式匹配多行文本

假设我有文本如下                                         ...
  • lyaqys
  • lyaqys
  • 2009年03月22日 10:05
  • 7584

正则表达式匹配多行文本的解决方法

有以下一段文本:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa对如上文本有两种匹配方式1 确定行数(/s*/n)*.*(/s*/n)*.*(/s*/n)*.*(/s*/n)*2 不...
  • suscom
  • suscom
  • 2005年02月01日 09:08
  • 5210

用正则匹配多行文本

如果有这样一个字符串          $var = "src = arr.c build.c eval.c field.c \                                   m...
  • Hello_ok_google
  • Hello_ok_google
  • 2013年08月21日 21:02
  • 3254

正则表达式知识详解之多行模式 (java版示例)

正则表达式知识详解系列,通过代码示例来说明正则表达式知识 源代码下载地址:http://download.csdn.net/detail/gnail_oug/9504094java启用多行模式只需...
  • gnail_oug
  • gnail_oug
  • 2016年04月27日 18:14
  • 1328

js正则RegExp使用g全文扫描匹配多项模式的坑

数据是这样: 简山尼,13591773474;多遥山伯,13591773474;周玉兰,13000000004;陈雪梅,13901193472;张可高,13900139000; 代码如下: fu...
  • jackie_tsai
  • jackie_tsai
  • 2016年08月03日 12:08
  • 851

RegExp对象的属性

RegExp对象的属性分为静态属性和实例属性。 一 静态属性 RegExp对象的静态属性包含:input、multiline、lastMatch、lastParen、leftContext、rig...
  • chengqiuming
  • chengqiuming
  • 2017年04月12日 10:33
  • 781

正则表达式(Regular Expression)

正则表达式(Regular Expression) 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、...
  • epluguo
  • epluguo
  • 2015年01月19日 16:43
  • 1694
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:匹配多行正则的使用 - 文本软件 /Multiline/RegExp/ By Stabx
举报原因:
原因补充:

(最多只允许输入30个字)