武林网
首页 > 编程 > Regex> 正文

教你用正则表达式查找相似单词

2024年09月07日 17:40:18
字体:
来源:转载
供稿:网友

我们在正则表达式中可以看到很多相似的单词,但是要一个个找出来就有点麻烦,那么你知道怎么利用正则表达式查找相似单词吗?下面就让小编教你用正则表达式查找相似单词的方法。

问题描述:

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

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

以上就是教你用正则表达式查找相似单词的方法,通过展示各种不同的正则表达式结构,以及在实际应用中会用到的技巧,熟悉掌握正则表达式的应用。

上一篇:正则表达式的匹配规则

下一篇:php正则表达式如何取得内容所有链接

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片
猜你喜欢的新闻
猜你喜欢的关注

新闻热点

疑难解答

图片精选

网友关注

关于本站 - 网上投稿 - 商务合作 - 隐私政策 - 网站地图
Copyright © 2008 - 2024 VEVB.COM. All Rights Reserved.武林网 版权所有

AltStyle によって変換されたページ (->オリジナル) /