[解決済み] 数字(0-9)とNO文字のみを受け付ける正規表現 [重複]について
2022-03-13 12:48:11
質問
0-9の数字のみを受け付け、それ以外は受け付けないような正規表現が必要です。文字や記号は受け付けません。
これならいけると思いました。
^[0-9]
あるいは
\d+
しかし、これらは文字を受け入れます。など
上記の正規表現でうまくいくと思ったのですが、なぜそのような文字を受け入れるのかわかりません。
EDIT
これはまさに私がやっていることです。
private void OnTextChanged(object sender, EventArgs e)
{
if (!System.Text.RegularExpressions.Regex.IsMatch("^[0-9]", textbox.Text))
{
textbox.Text = string.Empty;
}
}
これは先ほどの文字を許可しているのです。
解決方法は?
正規表現
^[0-9]
は何にでもマッチします。
始まり
のような文字列を含む、数字によるものです。部分一致を避けるには
$
を末尾に追加します。
^[0-9]*$
これは、ゼロを含む任意の数の桁を受け入れる。1つ以上の数字を受け入れるには
*
を
+
. ちょうど1桁の数字を受け入れるには、単に
*
.
UPDATE
の引数がごちゃごちゃになっています。
IsMatch
. パターンは第1引数ではなく、第2引数であるべきです。
if (!System.Text.RegularExpressions.Regex.IsMatch(textbox.Text, "^[0-9]*$"))
注意
JavaScriptでは
\d
と同じです。
[0-9]
が、.NETでは
\d
は、デフォルトですべての
ユニコード10進数
これには、႒ (Myanmar 2) や߉ (N'Ko 9) のようなエキゾチックな料金も含まれます。アプリがこれらの文字を処理する準備ができていない場合は、次のようにしてください。
[0-9]
(または
レジェックスオプション.ECMAScript
フラグを使用します)。
関連
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] 正規表現を使用した電話番号の検証方法
-
[解決済み] bashと正規表現を使って1行でプロセスを検索してkillする
-
[解決済み] 数字しか入力できないテキストボックスの作り方を教えてください。
-
[解決済み] Regex 2つの文字列間のすべての文字にマッチする
-
[解決済み] 数字のみの正規表現
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】C#で四捨五入する方法
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み] 数字のみの正規表現