正则表达式提取字符串筛选字符串

正则表达式如何匹配特定字符之间的内容_百度知道查看: 941|回复: 13
求一个 匹配一个有26个字母和数字随机组成的一个字符串的正则表达式
阅读权限140
在线时间 小时
结帖率: (1/1)
求一个 匹配一个有26个大写字母和数字随机组成的一个字符串的正则表达式
只需要匹配第一个大写字母和数字组成的字符,纯数字或者字母不要.
补充内容 ( 17:00):
我描述的有误,6位数的字符串是大写字母和数字随机组成的.不是第一个是大写字母
(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{6}
补充内容 ( 17:09):
a-z 去掉就可以了
补充内容 ( 17:09):
a-z 去掉就可以了
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至
可获得加分喔。友情提醒:本版被采纳的主题可在
帖子申请荣誉值,获得 1点 荣誉值,荣誉值可兑换终身vip用户组哦。快捷通道: →
阅读权限165
在线时间 小时
结帖率: (4/4)
我描述的有误,6位数的字符串是大写字母和数字随机组成的.不是第一个是大写字母
(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{6}
补充内容 ( 17:09):
a-z 去掉就可以了
补充内容 ( 17:09):
a-z 去掉就可以了
热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
阅读权限165
在线时间 小时
签到天数: 9 天
补充内容 ( 16:31):
补充内容 ( 16:32):
补充内容 ( 16:34):
最后:[A-Z]\w\d+
阅读权限165
在线时间 小时
结帖率: (4/4)
[A-Z]\w+[0-9]
阅读权限90
在线时间 小时
签到天数: 6 天
([A-Z]\d+)
阅读权限140
在线时间 小时
结帖率: (1/1)
([A-Z]\d+)
此表达式没效果...
还是谢谢你的回答
阅读权限140
在线时间 小时
结帖率: (1/1)
[A-Z]\w+[0-9]
此表达式也没效果.....
阅读权限140
在线时间 小时
签到天数: 8 天结帖率: (4/4)
正则表,要自己学,不用依赖别人呀
16:44 上传
点击文件名下载附件
50.5 KB, 下载次数: 1
阅读权限50
在线时间 小时
签到天数: 4 天结帖率: (1/1)
([A-Z]\w+\d+)
w后面少了个+号
补充内容 ( 16:54):
可以用我的软件测试,这代码可用……
阅读权限165
在线时间 小时
结帖率: (4/4)
此表达式也没效果.....
精易论坛 - 有你更精彩 /1
这次更新对易语言模块进行了加固,防止个人优秀模块被破解/反编译,更多新增功能请点击查看
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
Powered by正则表达式 – 超强的字符处理工具
(快来投票)
Loading...
因为 vim 是支持正则表达式最好的工具之一。真是因为正则表达式本身就很强大,只要一个软件加入了这个正则表达式,那这个软件也就随之强大起来。因为正则表达式可以让你变成字符魔术师,文档字符任你玩弄。
正则表达式是什么呢?
简单的讲,就是模糊表述你要找的字符。如果你了解 DOS 命令中的通配符 ‘?’ 和 ‘*’ 就很好理解了,它就是一个增强型的字符通配符。
它的历史可以追溯到 50 年代之前,第一次应用大概是 1966 年在 unix 开发的 QED 编辑器上。
虽然在电脑技术发展历史上,正则表达式显得非常的古老,但是如今一些新的应用 (如 Google 代码搜索,广告过滤等),使得它展示出来新的活力。
它虽然需要一些时间学习,但是上手不难,可以说如果你愿意花上一天时间去学习,相信一生都十分受用(只要电脑还存在着)。
我是在学习 perl 的时候遇到正则表达式的问题,开始学习也是比较反感,但后来做作业,用来处理字符的时候,才发现它是如此的强大,并喜欢上了这个工具,但一直以为只是 perl 的一个部分,后来逐渐发现,现代的高级编程语言基本都包含了正则表达式工具。这时我才开始注意这个超强的字符处理工具。
如今的应用可以说数不胜数了,我大概研究了一下,正则表达式有以下主要应用:
1. 字符/数据 匹配
2. 字符/数据 搜索
3. 字符/数据 替换
4. 字符/数据 提取
5. 字符/数据 过滤
(其实 4,5 就是 3 的一种特定的应用)
常见用到正则表达式的软件:(主要是我用到过的)
1. 编辑器 (搜索/替换,另外加排版功能)
Gvim, JCreator (java 编辑器)
2. 浏览器(主要功能是过滤广告)
maxthon,firefox
3. 搜索引擎 (主要是搜索资料)
google code搜索
至于编程语言,正则表达式基本上已经是现代高级编程语言的一个必带的工具,像 java,javascript,perl,php 等等,都有正则表达式的字符处理应用。
所以只要你学会了正则表达式的规则,那是受用无穷,到处可以使用,很实用的电脑应用能力。
对于普通喜欢上网的朋友,不编程,不排版文档,那么正则表达式则可能对于你最主要的功能就是广告过滤了。
相信各位饱受网络广告之苦。正是由于所有网页其实都是由字符组成的,所以正则表达式绝对可以派上用处。
如果你下载的万能广告过滤不起作用的时候,就可以自己利用正则表达式来制作一条过滤规则,将广告通通清除。
所以说如今正则表达式的应用是越来越广了,已经从 unix 走向了 windows 了,相信不久将成为一种电脑技术的通用标准。
就是不要学习,最好也要知道一下。至于教程,网上无数,我这里也只是介绍这个工具。
下图是我用 maxthon 的正则表达式过滤器处理的一个网页,大家看看有什么玄机在里面哈哈
看不懂呀,看样子要经常来!
按分类查看文章:
大家都在讨论些什么
: 它有Locale插件,所以理论上搭配Locale应该可以实现,不过我没有试过……: 难道还会有公司自己在全国建立气象观测站吗?数据来源会有什么差异?
历史数据真的超赞: 正版名字叫什么?
你给搞个贪食蛇大作战?: 很喜欢听雨声!听着感觉身体冷到发抖。。哈哈: 为何我的评论提交之后, 刷新页面依旧无法显示?: 背景图片无法获取...达不到我原先搜索到此一页面的原本目的.: 可以试试aegisub
最热门标签
传说中的小众软件 让你的手机应用与众不同。
个人 blog 转载时请遵循 “署名-非商业性使用-相同方式共享” 的创作共用协议;
商业网站或未授权媒体不得复制本站内容。正则表达式语法
正则表达式语法
通过 SIMILAR TO 和 REGEXP 搜索条件以及 REGEXP_SUBSTR 函数支持正则表达式。对于 SIMILAR TO,正则表达式语法符合 ANSI/ISO SQL 标准。对于 REGEXP 和 REGEXP_SUBSTR,正则表达式的语法和支持符合
REGEXP 和 SIMILAR TO 使用正则表达式是与字符串 相匹配,而 REGEXP_SUBSTR 使用正则表达式则是与子串 相匹配。要实现 REGEXP 和 SIMILAR TO 的子串匹配行为,可在要尝试匹配的模式的任何一侧指定通配符。例如,REGEXP '.*car.*' 会与 car、carwash 和 vicar 匹配。或者,可重写查询以使用 REGEXP_SUBSTR 函数。请参见。
通过 SIMILAR TO 匹配的正则表达式不区分大小写,也不区分重音。REGEXP 和 REGEXP_SUBSTR 不受数据库区分重音和大小写的影响。请参见。
正则表达式:元字符
元字符是在正则表达式中具有特殊含义的符号或字符。
元字符的处理视以下情况而异:
正则表达式是与 SIMILAR TO 或 REGEXP 搜索条件一起使用,还是与 REGEXP_SUBSTR 函数一起使用
元字符是否在正则表达式的字符类的内部
在继续之前,应了解字符类的定义。字符类是一组括在方括号内的字符,将根据这组字符对字符串中的字符进行匹配。例如,在 SIMILAR TO 'ab[1-9]' 语法中,[1-9] 就是一个字符类,它与 1 到 9 范围中(包括 1 和 9)的某一数字匹配。正则表达式中元字符的处理方式各不相同,这取决于元字符是否被放在字符类的内部。具体来说,当元字符放在字符类的内部时,多数元字符作为常规字符来处理。
对于 SIMILAR TO(仅限于 SIMILAR TO),元字符 *、?、+、_、|、(、)、{ 必须在字符类内进行转义。
要在字符类中包括减号 (-)、脱字符 (^) 或直角方括号 (]) 字符,必须将字符转义。
下面给出了所支持的正则表达式元字符的列表。当 SIMILAR TO、REGEXP 和 REGEXP_SUBSTR 使用元字符时,几乎所有元字符的处理方式都相同:
反斜线被用作元字符的转义字符。它也可被用于转义非元字符。
对于 REGEXP 和 REGEXP_SUBSTR,当脱字符在字符类的外部时,脱字符匹配字符串的开头字符。例如,'^[hc]at' 匹配 hat 和 cat,但只在字符串的开头。
当用在字符类内部时,以下行为适用:
REGEXP 和 REGEXP_SUBSTR&& 当脱字符为字符类中的第一个字符时,它与字符集中字符以外的任何字符匹配。例如,REGEXP '[^abc]' 匹配 a、b 或 c 以外的任何字符。
如果脱字符不是方括号内的第一个字符,那么它匹配脱字符。例如,REGEXP_SUBSTR '[a-e^c]' 匹配 a、b、c、d、e 和 ^。
SIMILAR TO&& 对于 SIMILAR TO,脱字符被视作减号运算符。例如,SIMILAR TO '[a-e^c]' 匹配 a、b、d 和 e。
当与 REGEXP 和 REGEXP_SUBSTR 一起使用时,匹配字符串的结尾字符。例如,SIMILAR TO 'cat$' 匹配 cat,但不匹配 catfish。
当与 SIMILAR TO 一起使用时,它匹配问号。
当与 REGEXP 和 REGEXP_SUBSTR 一起使用时,匹配任何单个字符。例如,REGEXP 'a.cd' 匹配以 a 开头并以 cd 结尾的含有四个字符的任何字符串。
当与 SIMILAR TO 一起使用时,它匹配句点 (.)。
在字符集中使用冒号来指定子字符类。例如,'[[:alnum:]]'。
正则表达式:特殊子字符类
子字符类是嵌入到较大字符类中的特殊字符类。除了自定义字符类(在其中定义要匹配的字符集,例如,[abxq4] 将匹配字符集限制为 a、b、x、q 和 4)以外,SQL Anywhere 还支持子字符类,例如,大部分 POSIX 字符类。例如,[[:alpha:]] 表示所有大写和小写字母的集合。
REGEXP 搜索条件和 REGEXP_SUBSTR 函数支持下表中的所有语法约定,但 SIMILAR TO 搜索表达式不支持。SIMILAR TO 支持的约定在 SIMILAR TO 列中有一个 Y。
在 REGEXP 中,当使用 REGEXP_SUBSTR 函数时,可以使用脱字符对子字符类取非。例如,[[:^alpha:]] 匹配除字母字符以外的所有字符的集合。
正则表达式:所支持的其它语法约定
REGEXP 搜索条件和 REGEXP_SUBSTR 函数支持以下语法约定,同时它们假定反斜线为转义字符。而 SIMILAR TO 搜索表达式不支持这些约定。
正则表达式:断言
断言测试条件是否为真,并影响字符串中开始匹配的位置。断言不返回字符;最终匹配中不包括断言模式。REGEXP 搜索条件和 REGEXP_SUBSTR 函数支持这些断言模式。而 SIMILAR TO 搜索表达式不支持这些约定。
在尝试拆分字符串时,lookahead 和 lookbehind 断言对于 REGEXP_SUBSTR 将非常有用。例如,您可以通过执行以下语句返回 Customers 表的 Address 列中街道名称(不带街道编号)的列表:
SELECT REGEXP_SUBSTR( Street, '(?&=^\\S+\\s+).*$' )
另一个示例:假定您想要使用正则表达式来验证口令是否符合某些规则。您可以使用类似于下面内容的零宽度断言:
IF password REGEXP '(?=.*[[:digit:]])(?=.*[[:alpha:]].*[[:alpha:]])[[:word:]]{4,12}'
MESSAGE 'Password conforms' TO CLIENT;
MESSAGE 'Password does not conform' TO CLIENT;
当满足以下条件时,口令有效:
password 至少有一位数(零宽度肯定断言 [[:digit:]])
password 至少有两个字母字符(零宽度肯定断言 [[:alpha:]].*[[:alpha:]])
password 只含有字母数字字符或下划线字符 ([[:word:]])
password 最少含有 4 个字符,最多含有 12 个字符 ({4,12})
下表包含 SQL Anywhere 支持的断言:}

我要回帖

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

更多推荐

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

点击添加站长微信