簡體   English   中英

用單個正則表達式匹配用給定單詞分隔的給定單詞分隔的列表?

[英]Match listing with given words separated by given list of separators with single regex?

需要檢測句子中的工作日名稱列表,用逗號,單詞AND和帶有正則表達式的“&”符號分隔。

我可以混合使用以下模式嗎?

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

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

所以我可以得到這個結果:

“這只是星期一,沒人在乎星期一 。” false沒有列表

“我喜歡周日和周六true了超過1場比賽,並且使用分隔符

星期二,星期三,星期五 ,晚上11點至凌晨12點的快樂時光”, true 3個工作日,逗號分隔

好吧,這是一個詳盡的解決方案,但有一些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,}匹配用逗號分隔的天數列表。

如果在一周的最后一天之前存在and ,則此部分將進行匹配。

  • ((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?\\s+)+and&之前的單詞列表匹配。

  • (and\\s|&\\s)((sunday|monday|tuesday|wednesday|thursday|friday|saturday)s?,?)匹配星期的最后一天。

Regex101演示

正則表達式

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

試試演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM