首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式匹配字符串中的两个单词

正则表达式匹配字符串中的两个单词
EN

Stack Overflow用户
提问于 2016-07-29 02:54:13
回答 3查看 35.3K关注 0票数 5

我正在尝试在一个字符串中匹配(查找)两个单词,如下所示:

代码语言:javascript
复制
Mac OS X/10.11.5 (15F34); ExchangeWebServices/6.0 (243);

如果我们看到"Mac“和"ExchangeWebServices”,但是这两个单词之间的字符是未知的/随机的,我想匹配(true)。有人能帮我学习正则表达式的语法吗?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-29 05:07:00

这将精确地匹配单词"Mac“和"ExchangeWebServices”以及它们之间的任何其他内容:

代码语言:javascript
复制
\bMac\b.*\bExchangeWebServices\b

正则表达式101示例:https://regex101.com/r/sK2qG1/4

票数 16
EN

Stack Overflow用户

发布于 2016-07-29 03:06:33

这是一个简单正则表达式,可以通过

代码语言:javascript
复制
/^Mac.+ExchangeWebServices/

我们假设'Mac‘和'ExchangeWebServices’是由某些字符分隔的两个不同的单词。

您可以通过该链接了解有关正则表达式Learning Regular Expressions的更多信息

票数 4
EN

Stack Overflow用户

发布于 2020-05-21 16:43:57

使用此正则表达式,您可以找到单词以及介于两者之间的任何内容,即使单词比正则表达式中的单词更长:

代码语言:javascript
复制
(Mac).*?(ExchangeWebServices).*?

它会找到这个字符串:

代码语言:javascript
复制
Mac OS X/10.11.5 whatever text in between (15F34); ExchangeWebServices/6.0 (243);

所以,如果你写的单词没有结尾(ExchangeWebServ):

代码语言:javascript
复制
(Mac).*?(ExchangeWebServ).*?

它会同时找到这两个字符串:

代码语言:javascript
复制
Mac OS X/10.11.5 whatever text in between (15F34); ExchangeWebServices/6.0 (243);

和:

代码语言:javascript
复制
Mac OS X/10.11.5 whatever text in between (15F34); ExchangeWebServ/6.0 (243);

如果您需要精确匹配单词,则需要使用上面答案中提到的\b

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38644579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档