
No.2ベストアンサー
- 回答日時:
JavaScriptには詳しくないですが、perlだとこういう正規表現でお望み(と思われる)挙動になりました。
[0-9]{2,3}[\.][0-9]){1}([^0-9]|$)
---
? は先行文字クラスが0-1文字の意味だから、
[0-9]{2,3}[\.]?[0-9]? では、
- [\.]?は小数点があってもなくてもOKになる
- 同じく[0-9]?だと0から9があってもなくてもOKなので
結局、数字2~3桁と0文字以上の文字列すべてにマッチする。だから50aにもマッチする。
- [0-9]{2,3}[\.][0-9]){1}
こうすると良さそうに見えるが、12.34 にもマッチするする。つまり、12.3までマッチし、小数点以下2位の4があってはいけないという表現がなされていないので。
- [0-9]{2,3}[\.][0-9]){1}[^0-9]
これも12.1で改行の場合、[^0-9]の部分にマッチしないので逆にマッチしなくなる。
丁寧な回答&挙動までチェック頂き大変感謝です。
多少違いますが、指定頂いた正規表現を参考に作り直したところ、望んだ挙動を得ました。
ありがとうございました。
No.3
- 回答日時:
前提条件で確認したいことがあります。
・ある文字列がその条件を満たすことを確認できればよいのか
・小数部は必須か
123 とか 09 とかは許される?
・小数点のみで小数部なしの表記は許されるか?
12. とかは?
・000.0 とかいう表記も許容してよいのか
・文章では整数部三桁までと書かれているが、例示されている正規表現では
整数部は二桁もしくは三桁を受け付けるように見える。どちらが正しい?
あと、[] の中では . は特殊な意味を持ちませんのでエスケープの必要はありません。[.] か \. でOKです。
また、繰り返し指定で {1} とするのは意味がないです。単にその部分
正規表現が存在するということだけですから。
No.1
- 回答日時:
'50a'は'0-9'が2から3個に続く小数点が0または1個、それに続く'0-9'が0または1個という条件にマッチしています。
?は1個含むまたは含まないという意味で、必ず含まないという意味にはなりません。
参考URL:http://www.openspc2.org/JavaScript/data/regexp.h …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C# 浮動小数の数値文字列化 1 2022/04/18 15:15
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- その他(プログラミング・Web制作) 物理の斜方投射で目盛りに数値を入れたい 2 2023/05/27 06:32
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/03/16 11:19
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba SelStart、SelLen教えてく...
-
VB.NET2003 テキストボックスに...
-
【Excel】文字列を抜き出してUR...
-
テキストボックスで全角文字の...
-
エクセルVBA/ Formatで文字列が...
-
Excel VBA カタカナ セル判定...
-
VBAによる第3、4水準文字の判定...
-
「終了していない文字列型の定...
-
javascript 文字列の最後から1...
-
文字認証の問題
-
以下のコードを実行しても、オ...
-
JSPの処理の途中で、JavaScript...
-
PDFフォームで条件つき金額を表...
-
リクエスト結果が一瞬しか表示...
-
PowerPointで時計表示
-
列を非表示にするマクロが実行...
-
JavaScriptでファイルの保存
-
JavaScriptで ブラウザの閉じる...
-
【JavaScript】DOMContentLoade...
-
delete[]と、delete演算子の明...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字認証の問題
-
正整数の半角数字かどうか判定する
-
VB.NET2003 テキストボックスに...
-
VC#でテキストボックスに変数の...
-
エクセルVBA/ Formatで文字列が...
-
禁止文字チェック
-
ハイフンだけ置換したい。
-
VBAによる第3、4水準文字の判定...
-
「終了していない文字列型の定...
-
Visual Basic 6.0 のテキストボ...
-
javascript 文字列の最後から1...
-
gas 全角数字を半角数字に変換
-
Vba SelStart、SelLen教えてく...
-
C#でTextBoxに数値のみ入力可能...
-
CListCtrl の特定のセル(アイ...
-
Excel VBA カタカナ セル判定...
-
エクセル 半角英数6文字以上 ...
-
入力された文字を1文字ずつチ...
-
正規表現について
-
c言語で「文字列(最大80文字)お...
おすすめ情報