首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式-查找包含特定字符串的完整单词。

问正则表达式-查找包含特定字符串的完整单词。
EN

Stack Overflow用户
提问于 2014-03-28 16:57:22
回答 2查看 56关注 0票数 0

我试图匹配在提供的字符串中包含特定字符串的“word”。

这个reg_ex工作得很好:

代码语言:javascript
复制
preg_match('/\b(\w*form\w*)\b/', $string, $matches);

因此,例如,如果我的字符串包含:“哪一个人已经改革或执行了”,则返回已修改和执行的内容。

但是,我需要在代码中匹配代码,所以我对“word”的定义是基于将字符串拆分成一个空格。

例如,我有一个字符串,类似:

测试MFC-123/Ben MFC/7474

我需要匹配'MFC‘,它应该返回'MFC-123/Ben’和'MFC/7474‘。

如何修改上面的reg_ex以匹配所有字符并使用空间作为边界。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-28 16:59:33

简单地使用它可以为您提供以下功能:

代码语言:javascript
复制
(MFC\S+)

它意味着在MFC之后的任何非空格字符

如果MFC在文本之间或单独出现,那么您可以将\S*放在MFC` `之前和之后。例如

代码语言:javascript
复制
(\S*MFC\S*)

这是匹配的:

代码语言:javascript
复制
MFC-12312
1231-MFC
MFC
票数 2
EN

Stack Overflow用户

发布于 2014-03-28 17:14:19

如果要获取不包含空格并包含MFC作为匹配的整个文本块,可以使用以下regex:

代码语言:javascript
复制
\b(\S*MFC\S+)\b

说明:

代码语言:javascript
复制
    \b assert position at a word boundary (^\w|\w$|\W\w|\w\W)
    1st Capturing group (\S*MFC\S+)
    \S* match any non-white space character [^\r\n\t\f ]
        Quantifier: Between zero and unlimited times, as many times as possible, giving back as needed.
    MFC matches the characters MFC literally (case sensitive)
    \S+ match any non-white space character [^\r\n\t\f ]
        Quantifier: Between one and unlimited times, as many times as possible, giving back as needed.
    \b assert position at a word boundary (^\w|\w$|\W\w|\w\W)

匹配块以粗体表示的示例:

测试lmasdlmasd;mwrsMFCkmasd mfc-123/Benjda 2/jda j2\13 MFC/7474

希望这能有所帮助。

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

https://stackoverflow.com/questions/22718892

复制
相关文章

相似问题

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