正の整数を表す正規表現ってどうやってかきますか?
^[0-9]$ これだと先頭が0になることがあって正になってないし
桁が増えていったらまちがってますよね
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答6件
0
ベストアンサー
先頭が1-9、その後が0-9が0回以上の繰り返し。でイケると思います。
投稿2017/05/23 07:57

退会済みユーザー
総合スコア0
0
正の整数を表す正規表現ってどうやってかきますか?
正規表現を議論する前に、正の整数を表す文字列をどう定義するかという話があると思うのですが。マイナス符号 - が先頭になくて数字で始まっていればいいのですか? それとも別の書き方(+ を付けるとかの約束)もあるのですか?
投稿2017/05/23 08:01

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
ゼロパディングは許されるのでしょうか。
JavaScript
1const sample = (numberString) => /^\+?0*[1-9]\d*$/.test(numberString); 2 3console.log(sample('1')); // true 4console.log(sample('001')); // true 5console.log(sample('+1')); // true 6console.log(sample('1.0')); // false 7console.log(sample('-1')); // false 8console.log(sample('0')); // false
Re: asdfghjklpoiuyt さん
投稿2017/05/23 08:32
編集2017/05/23 08:38総合スコア18194
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
Ruby
1# encoding: utf-8 2 3str = '1234567890' 4 5puts str.scan(/^\+{,1}[1-9]\d*$/)
実行結果例
1234567890
考えてみました。
投稿2017/05/23 08:05
編集2017/05/23 09:15
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
このサイトが参考になるのではないでしょうか?
参考サイト
抜粋
^(0|[1-9]\d*)$
追記(0のケースはエラーとする)
"+"記号があってもなくてもOKにするパターン
/^[+]?([1-9]\d*)$/
"+"記号を必須にするパターン
/^[+]([1-9]\d*)$/
投稿2017/05/23 08:00
編集2017/05/23 08:44総合スコア3027
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/23 08:13
退会済みユーザー
2017/05/23 08:28