2011-11-10 9 views
0

私はこのような文字列に一致する正規表現を探しています:1,2,4-6,9,11-13,20これを正規表現で書く方法は?

制限:

  1. のみの数字、カンマやハイフンは
  2. はスペースが
+5

あなた自身が試したことのある箇所と、正確にどこに詰まっているのかを示すための説明が必要です。実際の問題の内容を十分に定義していない可能性があります。解決は簡単です)。例えば、 ' - 、1 - 、2-2-2-2,111、-11 - 、 - 、 - 、34、'は有効でしょうか?これまでのあなたのルールによると、それはそうです。 '1.5'は数字ですか?また、長いテキストの中でこのような文字列を見つけたり、規則に従って文字列全体を検証したりしたいですか? –

+0

そして、@ FailedDevが答えてくれたように、使用している正規表現のフレーバーを教えてください。 –

答えて

1

あなたの質問はかなり曖昧で許可されない許可されています。私はそれを改善するか、または正規表現についてtutorialを読むことを提案します。

あなたの制限に基づいて正規表現は/^[-\d,]*$/ですが、これはあなたが望むものではないと確信しています。

入力、出力、使用する正規表現のフレーバの例を提供してください。最後に、問題の解決を試みてください。

1

正の整数または正の整数範囲のカンマ区切りのリストと一致させたいと思っています。 \d+は整数と一致し、範囲を許可するには\d+(-\d+)?を使用します。

ので、正規表現

\d+(-\d+)?(,\d+(-\d+)?)* 

を行うだろう。

+0

それも私の推測だろう。しかし、@ ggk517からそれを聞いていいですね。しかし、これは間違いなくupvoteの価値がある。 –

関連する問題