2012-05-02 3 views
1

私は正規表現に新たなんだと仕事に以下のように見えることはできません - 任意のヘルプは、単語「インスト」または「機関」の前に文字の大幅appreciated.Anyセットになりますが、同じ単語の一部として単語グループが続くことはありません。ですから、例えば、私は "m_InstitutionGroup" と一致する必要はありませんが、私は "m_Institution何とか何とかグループ"正規表現

他の例たい:私は試してみました

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

inst(itution)(?!(Group)) 
+0

を重要ですか? – Bort

+0

BTW、正規表現のチェックアウトで遊ぶhttp://rentzsch.github.com/JSRegexTeststand/&http://regextester.com/ – JKirchartz

+0

ちょうどチェックしてください - あなたは "m_"部分と一致しますか? *「Inst」または「Institution」という単語の前の文字セット* – Bohemian

答えて

1

この正規表現:

inst(itution)(?!(Group)) 
あなたが itutionをオプションにしていないため、

institutionと一致し、instではありません。さらに、Groupすぐにinstitutionの場合にのみ機能します。

試してみてください。

[Ii]nst(?:itution)?(?!\S*[Gg]roup) 
Instとして読み込む

instInstitution、またはinstitution限りその何かが文字列groupGroupが含まれていないとして、次の空白に何まで続きます。

+0

'\ S *'でより良くなったことは、 '\ S'や' \ w'が必要な場合にOPの要件に依存します。 – stema

+0

よろしくお願いいたします。もう1つ質問できますか?私は "Institution/Inst blah blah group"を望んでいますが、 "InstGroup"やInstitutionGroupではなく、私は何をしたいのですか? [Ii] nst(?:itution)の後にw +を追加しますか? –

0

あなたの検索語の間のスペースと一致する必要があります。これらは、いずれのケースであること最初の文字と一致していることを

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

は注意を - あなたの試みは、あなたがこの

+0

彼のテストケースでは正しいことをしていません。介在するスペースはないかもしれません。 –

+0

@ Li-aungYip私がそれを読んだとき、そこに介在するスペースがなければならない – Bohemian

+0

そう、私は私の論理を逆転させた。気にしないで。 ;) –

2

試しをしたい示唆しているため - iまたはIすなわちこの

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

それhere on Regexr

01を参照してください。

これは、の後に\w文字(文字、数字および_)だけが続いていない場合にのみ、(itution)?とオプションのと一致します。

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

あなたは大文字小文字を無視しているようですので、対応するフラグを正規表現関数に追加してください。イマイチ/機関のケーシングは

RegExr link

+0

私の正規表現は、他の例のように "inst"や "institution"だけでなく、必要な単語にマッチしています。 – KurzedMetal