範囲を検証する必要があります。入力は次の形式です。
string example1 = "anydate between 20100101 ~~ 20100101";
string example2 = "anydate between 20100101 and 20100101";
string example3 = "docid between 1 ~~ 2";
次の正規表現を使用しています。
\b(\w)*(?<operator>Between|contains)\b(?<prefix>.*).*?(?<OP>~~|and)[ ]?\b(?.*)\ b
ユーザーが入力"anydate between 20100101 ~~ 20100101 and test1"
すると失敗し、までキャプチャしtest1
ます。
正規表現の貪欲さを減らし、キャプチャまでのみにする方法は20100101
?