3

私の問題は、[、\ s |、| \s]が"、" as "、"と一致し、余分なスペースが残ることです

したがって、「Sat、Mon」と一致するものはありません。

(Thu|Fri|Sat)[,\s|,|\s](Mon|Tue)

(Thu | Fri | Sat)[、\ s |、| \ s]に一致させると、「Sat」に一致しますが、match.Valueは「Sat」にあります(スペースなし)

基本的には「Sat、Mon」「Sat、Mon」「SatMon」でも試合をしたいのですが「SatMon」ではありません

ありがとう

4

3 に答える 3

6
(Thu|Fri|Sat)[,\s]\s*(Mon|Tue)

これにより、カンマまたはスペースと、Monまたはの前に追加のスペースが許可されます。Tue

あなたのバージョンは、文字クラスと交代の概念を混同していました。オプションを区切る交互の場合は|、括弧内に含める必要があります。構文を使用して、これらの括弧をキャプチャしないようにすることができ(?: )ます。

上記では、キャラクタークラスを使用しました。交互に使用するには:

(Thu|Fri|Sat)(?:,|\s)\s*(Mon|Tue)

私は以前\sは空白を示していましたが、あなたの目的のためにそれらを文字通りのスペースに置き換えることができます。

于 2012-04-26T21:31:53.643 に答える
2

次を試してください \s?[, ]\s?

于 2012-04-26T21:32:11.950 に答える