常用表达

时间:2012-05-02 13:59:07

标签: regex

我是正则表达式的新手,似乎无法让以下工作 - 任何帮助都会非常感激。在“ Inst ”或“机构“但未将单词group作为同一单词的一部分。所以例如我不想匹配“ m_InstitutionGroup ”,但我确实想要“ m_Institution blah blah Group

其他例子:

Inst - include
inst - include 
institution - include
rtertInstitutionsdfdf – include
345_rtertInstitutionssdf45d454fdf – include
InstXXX555_group - exclude
Institution456eretGroup - exclude

我试过了:

inst(itution)(?!(Group))

4 个答案:

答案 0 :(得分:2)

试试这个

[Ii]nst(itution)?(?!(\w*[Gg]roup))

here on Regexr

这会使[Ii]nst与可选的(itution)?匹配,但前提是[Gg]roup之后只有\w个字符(字母,数字和_)

答案 1 :(得分:1)

这个正则表达式:

inst(itution)(?!(Group))

仅匹配institution,而不是inst,因为您尚未选择itution。另外,只有当Group 立即跟在institution之后,它才有效。

尝试:

[Ii]nst(?:itution)?(?!\S*[Gg]roup)

,其内容为InstinstInstitutioninstitution,后跟任何内容,直到下一个空格,只要任何内容​​不包含字符串{ {1}}或group

答案 2 :(得分:0)

您需要匹配搜索词之间的空格:

\w+(?=[iI]nst(itution)?.* .*Group)

请注意,这些匹配任何情况下的第一个字母 - 即iI - 因为您的尝试建议您想要这个

答案 3 :(得分:0)

\w*inst(itution)?\w*(?<!group)\b

您似乎忽略了大小写,因此请将相应的标志添加到正则表达式函数中。

RegExr link