正则表达式用于区分“监管”“监管”一词(开始“监管”/“结束”“或”)

问题描述:

当我需要搜索“监管”或“监管”时,我使用正则表达式用于区分“监管”“监管”一词(开始“监管”/“结束”“或”)

\ bregulatory \ b | \ bregulatories \ b

有没有什么办法可以创建一个正则表达式,考虑到单词的开始是相同的,只考虑不同的结束“y”或“iies”而不是任何其他。我的意思是,我可以使用:

\ bregulator {0,3} \ b

,但它可能不匹配regulatorial

所以,我要寻找类似的东西:\ bregulator {y或ies} \ b(它不存在于正则表达式,它正是如何将其转换为正则表达式我正在寻找)。

非常感谢,

CADU

+1

'|'是一个简单的“或”正则表达式,所以像' \ bregulator(y | ies)\ b'应该是你要找的。 – CBroe

+0

你正在使用哪种语言? –

+0

@ user3570996:欢迎来到Stack Overrflow!请考虑为我们的[正则表达式常见问题](http://stackoverflow.com/a/22944075/2736496)添加书签,以备将来参考。 – aliteralmind

你可以试试:

\bregulator(?:y|ies)\b 

更新基于您的评论:

\bregulator(?:y|ies|s)\b 

http://regex101.com/r/gJ6nD4

+0

'?:'只是一个[非捕获组](http://www.regular-expressions.info/brackets.html) - 这里没有必要。 –

+0

谢谢大家!另外一点。如果它只是一个单词末尾的“s”,可能存在与否。例如。稳压器|稳压器。我经常使用调节器。?但如果我知道它可能只是“s”,我想考虑它可能有或没有一个字符后,监管机构,如果它只能是“s”。 – carloscadux

+0

我已经更新了我的答案。 –

一个正则表达式考虑开始时是作为相同,只是考虑到不同的目的 “Y” 或 “IES”,而不是任何其他

请字,试用this模式:

\bregulator(?:y|ies)\b 
  • (?:y|ies)声明正是您所期望的。所以(?:A|B)意味着AB
+0

不要忘了'ial' – Johnny

+0

':'只是一个[非捕获组](http://www.regular-expressions.info/brackets.html) - 这里没有必要。 –