3 つの単語のいずれかで終わる文に一致する正規表現が必要です。
たとえば、miles と yards という 3 つの単語があるとします。
My_String = One 2012 年 10 月 5 日、ワシントン DC でレースが行われました。レースには 400 人のランナーが参加しました。レースの距離は 10 マイルでした。
一致させたいストリングが与えられた場合 = レースの距離は 10 マイルでした。
私は次のことを試しました:正規表現=/.\s.*[miles.|yards.]/
とmatch = match.regex(My_String)
`
しかし、これは、私が興味を持っている文だけでなく、私が興味を持っている文の前のすべての文に一致しています.
アップデート:
Kirill Polishchuk は、私をかなり近づけるような解決策を考え出しました (以下を参照)。残念ながら、これを Rubular 式テスターに入れると、対象の文が強調表示されるだけで、一致としては返されません。
Kirill の式は実際に機能していると思い始めていますが、テストに使用している Rubular エンジンではサポートされていない可能性があります。
最終更新:
次の表現は、対象の文と一致しました:
([^.]*(?:miles|yards)\.)
みんなの助けに感謝します。