^(((\d{0,5}){1}|(\d{0,5}\.{1}(\d{0,5}){1})){1}[x]{1}((\d{0,5}){1}|(\d{0,5}\.{1}(\d{0,5}){1})){1})$
文字列が (整数/小数のいずれか)x(整数/小数のいずれか)またはちょうど1つの整数/小数であるかどうかを正規表現がチェックするようにします。私が2xまたは2.5xを入力すると書いた正規表現は、偽であるべきですが、 'x'があっても2番目の整数/小数点が指定されていなくても一致していると言われます。またはxがなくても2.5であれば問題ありません。正規表現は機能しません、なぜですか?
私はそれを受け入れるようにしたいもののいくつかの例:
3x1
12345.123451x12345.12345
.12345x.12345
00000.12345x1
3
4.12345
私はそれを受け入れることを望んでいない:
1x
1xx2
4fx34
私も数字があまりにも大きなものにしたくありません私はどこにでも{1}を持っています。私が望む最大値は、小数点以下5桁と5桁です。
2x
と入力したときに正規表現でtrueを返していて、それが私のストアドプロシージャを破棄してデータを送信しています。許容される入力は2
または2x1
です。
の終わりのためのアンカーです。あなたは問題が何であるかを明確にするような形式で質問を言い換えるべきです。 –
すべての '{1}'はどうですか?それは削除できるノイズです。 –
私は[regex101](https://regex101.com)で遊んでみることをお勧めします – excaza