2017-05-08 9 views
0

どのように私はそのようなSTHにマッチする正規表現を書くことができます省略:彼は彼は正規表現、いくつかの単語

のできない ある

できるある

など

一般的なパターン「彼は」+数語まで+

「の」私は正規表現せずにそれを解決する方法を知っているが、あなたが本当にできるかcapatableないがあるかどうかを確認したい場合は、多分もっと簡単な方法

+1

何を試しましたか? –

+0

正規表現を使用しないあなたの解決策は何ですか?そして、あなたは今までどのような正規表現を思いついていますか? – f1sh

+0

私の解決策は、パターンのインデックス "he is"と "of"を見つけ、その間の文字数を確認することですが、ループのために必要です – Yeynno

答えて

0

私はこれでいいと思う:私は確信して私は、一致していた単語を作るために\b多くを使用してい

\bhe is\b.*\bof\b 

。例えば。これはShe is capable ofと一致しませんので、どちらもhe isa wizard capable of

これはもう少し複雑です:

\bhe is\b(+\w+ *)*\bof\b 

は、ここでは、途中で (+\w+ *)*を持っています。これは、それが互いに後に単語に一致することを確認します。

デモで再生することができますhere

1

があります。

"he is\\s+(not\\s+)?(capable\\s+)?of" 
2

自明な解はhe isofとの間の1及び3 "単語" との間にでき

\bhe is(?: \w+){1,3} of\b 

を使用することであろう。

\w+は「文字/数字/アンダースコアのシーケンス」を意味するので、単語と完全に一致するわけではありませんが、あまりにも特定されていない場合は独自の単語マッチング正規表現に置き換えることができます。

\bword boundary anchorsのみ一致heofなくtheまたはoftenに使用されます。

関連する問題