求一个字符串正则表达式式:字符串长度8,最少2个字符,最少2个数字,最少2个特殊字符

一个oracle正则表达式一个数字字符串,要求最后的8为中,前四位,后四位都必须至少有一个数字1小弟的写法如下,可是不起作用  SQL code   select count(1) from dual where regexp_like('','^[[:digit:]]*([[:digit:]*8[:digit:]]*){4}([[:digit:]*8[:digit:]]*){4}$')
  SQL code  select count(1)
where regexp_like(substr('',-8,4),'(\d.* ){1}') and regexp_like(substr('',-4),'(\d.* ){1}')Dreamweaver 正则表达式字符查找替换方法($1,$2使用说明)
作者:佚名
字体:[ ] 来源:互联网 时间:06-01 17:23:32
用好了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正则表达式替换。 播布客视频的地址有一定的规律,如 /v/bbk;0�2 这个是在线观看的地址,下载地址是 /v/bbk1234.zip 先将网页上的所有视频地址复制到Dreamweaver,再打&开查找替换&功能。 查找: ȕ2/v/bbk(\d)ȕ2ȕ2 替换:/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&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&
FFFF 匹配 bgcolor=&#FF0000& 中的&FF0000&和 font color=&#0000FF& 中的&0000FF&
恰好 n 个前置字符。
o{2} 匹配&loom&中的&oo&和&mooooo&中的前两个&o&,但在&money&中没有任何匹配项
至少 n 个、至多 m 个前置字符。
F{2,4} 匹配&#FF0000&中的&FF&和&#FFFFFF&中的前四个&F&
用括号括起来的字符中的任何一个字符。用连字符指定某一范围的字符(例如, [a-f] 等效于 [abcdef])。
[e-g] 匹配&bed&中的&e&、&folly&中的&f&和&guard&中的&g&
未在括号中括起来的任何字符。用连字符指定某一范围的字符(例如,[^a-f] 等效于[^abcdef])。
[^aeiou] 最初匹配&orange&中&r&、&book&中的&b&和&eek!&中的&k&
词边界(例如空格或回车符)。
/bb 匹配&book&中的&b&,但在&goober&和&snob&中没有任何匹配项
词边界之外的任何内容。
/Bb 匹配&goober&中的&b&,但在&book&中没有任何匹配项
任何数字字符。等效于 [0-9]。
/d 匹配&C3PO&中的&3&和&apartment 2G&中的&2&
任何非数字字符。等效于 [^0-9]。
/D 匹配&900S&中的&S&和&Q45&中的&Q&
任何单个空白字符,包括空格、制表符、换页符或换行符。
/sbook 匹配&blue book&中的&book&,但在&notebook&中没有任何匹配项
任何单个非空白字符。
/Sbook 匹配&notebook&中的&book&,但在&blue book&中没有任何匹配项
任何字母数字字符,包括下划线。等效于 [A-Za-z0-9_]。
b/w* 匹配&the barking dog&中的&barking&以及&the big black dog&中的&big&和&black&
任何非字母数字字符。等效于 [^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 替换它,可以在由斜杠分隔的日期中交换日和月(因此可以在美国样式日期和欧洲样式日期之间进行转换)。&
大家感兴趣的内容
12345678910
最近更新的内容新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
小富即安, 积分 2276, 距离下一级还需 2724 积分
论坛徽章:0
正则不经常用的话,可读性确实差啊。
白手起家, 积分 167, 距离下一级还需 33 积分
论坛徽章:1
&&恩,很好用的RE,谢谢你。
&&还有,(?(1)|(?!)) 能否解释下?&&是正则递归么?
论坛徽章:44
回复&&3P党人
&&恩,很好用的RE,谢谢你。
&&还有,(?(1)|(?!)) 能否解释下?&&是正则递归么?
ace_fei 发表于
& & 这个有点复杂,不是递归是条件判断。有空自己看文档吧 perlre
白手起家, 积分 48, 距离下一级还需 152 积分
论坛徽章:0
(?(1)|(?!))
当分组1匹配空时引起回溯
家境小康, 积分 1671, 距离下一级还需 329 积分
论坛徽章:0
<font color="#P党人 发表于
& & 3P党人,能不能详细的分拆解释一下你的正则表达式, 针对象我这样只有基本正则表达式技能的人. 让我们可以看懂,理解然后获得提高. 结合具体例子的解释比看文档来的学习的快. 如果没有高人带路, 我们这些菜鸟很快会在文档和枯燥的符号中淹没的.
或则其他哪位大大能代劳, 谢谢.
论坛徽章:44
3P党人,能不能详细的分拆解释一下你的正则表达式, 针对象我这样只有基本正则表达式技能的人. 让我 ...
sellie 发表于
& & 正则表达式内容太少了不存在说一点一点积累进步之说,要么就永远只懂那么一点点要么就全都懂了。推荐《精通正则表达式》中文版,网上也有电子版
白手起家, 积分 167, 距离下一级还需 33 积分
论坛徽章:1
本帖最后由 ace_fei 于
16:43 编辑
我把你的代码改了一下,为了看下它匹配的过程。
结果只能看到最后一次匹配的结果,比如输入的字符串是&02a+3k23t&,那么打印出的结果是3 t +。
怎么调试re让其打印出回溯过程。#!/usr/bin/perl -w
use re 'eval';
my $length_required = 3;
while (chomp(my $str = &STDIN&))
{
& & if($str =~ m#(?{print &start match\n&})
& && &&&(?:(\d)|([a-zA-Z])|([^a-zA-Z\d])|.){$length_required,}
& && &&&(?{print &$1 $2 $3\n&})
& && &&&(?(3)(?{print &matched \$3\n&})|(?{print &recall\n&})(?!))
& && &&&(?(2)(?{print &matched \$2\n&})|(?{print &recall\n&})(?!))
& && &&&(?(1)(?{print &matched \$1\n&})|(?{print &recall\n&})(?!))#x)
& & {
& && &&&print &matched over\n&;
& & }
& & else
& & {
& && &&&print &no matched\n&
& & }
}
复制代码
富甲一方, 积分 45796, 距离下一级还需 4204 积分
论坛徽章:102
回复&&3P党人
我把你的代码改了一下,为了看下它匹配的过程。
结果只能看到最后一次匹配的结果,比如输 ...
ace_fei 发表于
写成这样....
还不如2楼所言...&四个条件就写四个RE,省心&
必含1个数字,1个字母,1个特殊字符,长度不少于n
if(length & $n and /\d/ and /\w/ and /\W/){
& &print &matched over\n&;
&&print &no matched\n&;
==============================
foreach(qw/02a+3k23t qwerttt 123qwe_+k/){
& & if(length & $n and m/\d/ and m/\w/ and /\W/){
& && & print &$_, matched over\n&;
& && & print &$_, no matched\n&;
02a+3k23t, matched over
12345, no matched
123qwerttt, no matched
123qwe_+k, matched over
白手起家, 积分 167, 距离下一级还需 33 积分
论坛徽章:1
本帖最后由 ace_fei 于
17:09 编辑
写成这样....
还不如2楼所言...&四个条件就写四个RE,省心&
必含1个数字,1个字母,1个特殊字符, ...
jason680 发表于
确实,这样写简单明了,呵呵
其实答案已经不重要了,现在我就想要集思广益。
还有,我一开始提的问题,有没有人帮忙解释下? 如何理解(?=x)y这样写的RE}

我要回帖

更多关于 字符串正则表达式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信