正则表达式查找相似单词的方法
前端  /  管理员 发布于 7年前   254
本文通过展示各种不同的正则表达式结构,以及在实际应用中会用到的技巧,熟悉掌握正则表达式的应用。
问题描述:
在这个实例中你要解决如下几个问题。
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>)确保只会匹配整个单词。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号