2016-03-20 5 views
0

カンマで区切られた平日の名前のリストを検出する必要があります。単語ANDと正規表現を使用して "&"シンボルを検出する必要があります。与えられた単語を1つの正規表現で区切られたリストで区切ってリストを一致させますか?

私はこのパターンを混在させることはできます:

\b(sunday|monday|tuesday|wednesday|thursday|friday|saturday)(?:s)?\b

(,|\band\b|&)\s?

だから私はこの結果を得ることができます。

"これは単なる月曜日で、誰も月曜日気にしません。" falseいいえリスト

trueは、true 3平日 "11 pm-12am、金曜日、火曜日、水曜日幸せな楽しい時間で" より1つの試合を得た、とセパレータ

"私は日曜日と土曜日が好き"カンマ区切り

答えて

2

これはいくつかの完全な解決策です。alterationsです。

正規表現:

((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?\s+){2,}|((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?\s+)+(and\s|&\s)((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?)

説明:

  • ((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?\s+){2,}は、カンマで区切られた日のリストに一致します。

週の最後の日前または&がある場合、この部分はマッチングを行います。

  • ((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?\s+)+andまたは&前の単語のリストと一致します。

  • (and\s|&\s)((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?)は、曜日の最後の曜日に一致します。

Regex101 Demo

+0

あなたは私に良い手掛かりを与えます。ありがとうございました。しかし、私はより明確な解決策を得る –

0

正規表現

(((sunday|monday|tuesday|wednesday|thursday|friday|saturday)(?:s)?\s?(?:,|and|&)?\s?){2,}) 

Try demo

関連する問題