正则表达式查找相似单词的方法

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了正则表达式查找相似单词的方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文通过展示各种不同的正则表达式结构,以及在实际应用中会用到的技巧,熟悉掌握正则表达式的应用。

问题描述:

在这个实例中你要解决如下几个问题。

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(?:ularexpressions?|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>)确保只会匹配整个单词。

脚本宝典总结

以上是脚本宝典为你收集整理的正则表达式查找相似单词的方法全部内容,希望文章能够帮你解决正则表达式查找相似单词的方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:divpython