私は次のテキストを持っています:var avarb avar var varb var
。私がやりたいのは、「直接」var
の発生のみを抽出することです。上記の文字列には3つ含まれています。
rubularで遊んでいる間、私は次の正規表現を作成しました/\A(var)|\s(var)\s|(var)\z/
。var
正規表現で部分文字列を1回だけ使用するために、それを単純化する方法はありますか?
私は次のテキストを持っています:var avarb avar var varb var
。私がやりたいのは、「直接」var
の発生のみを抽出することです。上記の文字列には3つ含まれています。
rubularで遊んでいる間、私は次の正規表現を作成しました/\A(var)|\s(var)\s|(var)\z/
。var
正規表現で部分文字列を1回だけ使用するために、それを単純化する方法はありますか?
単語の境界を使用してこれを試してください:
/\bvar\b/
アレクサンダーバージョンを使用するか、
/(^|\s)(var)($|\s)/ # or:
/(?:^|\s)(var)(?:$|\s)/ # (?: ) will prevent capturing
/\s+(var)\+/
十分だと思いますか?
私があなたを正しく理解している場合は、先読みと後読みを使用できます。
/(?<=^|\s)(var)(?=$|\s)/