时间:2021-05-02
本文通过展示各种不同的正则表达式结构,以及在实际应用中会用到的技巧,熟悉掌握正则表达式的应用。
问题描述:
在这个实例中你要解决如下几个问题。
1、想要在一个字符串中找到所有的color和colour。
2、想要找到这3个以"at”结尾的单词中的任意一个:bat、cat或rat。
3、想要找到以phobia结尾的单词。
4、想要找的名字"Steven”的常见变形:Steve、Steven和Stephen。
5、想要匹配术语"regular expression”的所有常见形式。
解决方案:
下面按顺序列出用来解决这些问题的正则表达式。所有这些解决方案中都使用了不区分大小写的选项。
问题1:color和colour
\bcolou?r\b
正则选项:不区分大小写
正则流派:.NET、Java、JavaScript、PCRE、Perl、Python、Ruby
问题2:bat、cat或rat
\b[bcr]at\b
正则选项:不区分大小写
问题3:以"phobia"结尾的单词
\b\w*phobia\b
正则选项:不区分大小写
问题4:Steve、Steven和Stephen
\bSte(?:ven?|phen)\b
问题5:"regular expression”的变体
\breg(?:ular·expressions?|ex(?:ps?|e[sn])?)\b
正则选项:不区分大小写
正则流派:.NET、Java、JavaScript、PCRE、Perl、Python、Ruby
解析:
\b #判断一个单词边界位置
reg #匹配"reg”
(?: #分组但是不捕获
ular\# 匹配"ular”
expressions? # 匹配"expression”或"expressions"
| # 或者:
ex# 匹配"ex”
(?:# 分组但是不捕获
ps? #匹配"p”或"ps"
| # 或者:
e[sn] # 匹配"es”或"en"
)? # 结束非捕获分组,整个分组为可选
)#非捕获分组的结束
\b #判断一个单词边界位置
注:这5个正则表达式都使用了单词边界(<\b>)确保只会匹配整个单词。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Scala通过scala.util.matching包中的Regex类来支持正则表达式。eg:使用正则表达式查找单词Scala实例中使用String类的r()方
命令中的正则表达式如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式。正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查
js中的正则表达式比起C#中的正则表达式要弱很多,但基本够用了1定义正则表达式2关于验证的三个这则表达式方法3正则表达式式的转义字符1定义正则表达式在js中定义
1、正则表达式包括两部分①定义正则表达式的规则;②正则表达式的模式(i/g/m);2、声明正则表达式①字面量声明:varreg=/表达式规则/表达式模式; e
本文实例讲述了PHP经典实用正则表达式。分享给大家供大家参考,具体如下:对于开发人员来说,正则表达式是一个非常有用的功能,它提供了查找,匹配,替换句子,单词,或