次の値を取るフォームのフィールドがあります: -1、2-10、99
回答 2 ~ 10 に関係するビジネス ルールがあります。
2-10 には一致するが99 には一致しない正規表現を書こうとしていますが、問題が発生しています。
元の表現:
^2|3|4|5|6|7|8|9|10$
99 が一致するため失敗します (技術的には 2 回)。また、Line の境界は、私がこれまで慣れていなかったものです。Expresso では、他の場所 (.net など) とは異なる動作を観察します。この特定の例では、正規表現はjavascriptで実行されています。とにかく、expressoはそれらを無視しているようです(そして、値を括弧に入れた場合:
^[2|3|4|5|6|7|8|9|10]$
^[2-9]$
「すべてスペルアウト」または範囲として、開始行/文字列終了行/文字列の文字を指定した場合、expressoは一致を返しません(はい、2番目のケースで10を個別に一致させようとしていました)。
分かってる。問題を解決するために正規表現を使用する場合、2 つの問題があります (そして、おそらく、1 番目と 2 番目のスタイルで友人を招待し始めるでしょう)。ここでは使用する必要はありません。ケースステートメントに切り替えることができます。しかし、ここで正規表現を使用できるはずであり、それを行うのは合理的なことのようです。正規表現に関しては、私はまだかなり緑色です。