私は本当に問題のノブであるため、正規表現の作成には問題があります。A範囲のような式を検証するための正規表現
目的は、このような、ユーザ入力から '範囲' の式を検証することである。
- 20-30(20と30の間)
- 11,12(2及び4)
- -10(10未満)
- 80-(80より大きい)
等もの、任意の数の組み合わせ:
-10,11,12,20-30,80-
私はすでに()を呼び出すと.GetMatches()は、次の 正規表現を使用して、このような文字列とは別のコンポーネントを解析することができますよ。
var rangeRegex = new Regex(@"\d+(\.\d+)?-\d+(\.\d+)?");
var smallerThanRegex = new Regex(@"(?<![\d\.])-\d+(\.\d+)?");
var greaterThanRegex = new Regex(@"\d+(\.\d+)?-(?!\d)");
私は単なる文字列が有効な「レンジ式」であるかどうかを検証するために使用することができ、大きな正規表現にそれらを結合する方法についてはよく分かりません。
これを行う方法を知っている人はいますか?事前にどうもありがとうございました!
ありがとう、それは私が探しているものでした!私はあなたのソリューションとGuffaが提案したソリューションの両方を使用して、完全にフェールセーフにし、冗長部分(20-40,22のようなもの)を除外することを考えます。 – jkokorian