
正規表現について質問をさせていただきます。
VB6.0にて正規表現を使用し、入力された文字のチェックを行っていますが
どうしてもうまくいきません。
チェックしたい文字は
A(半角アルファベット大文字1文字)または
AAA(半角アルファベット大文字3文字)または
(AAA)(半角カッコつき半角アルファベット大文字3文字)で
上記3パターン以外はエラーとしたいと思っています。
パターンは下記のように作成したのですが
"(^[\(][A-Z]{3}[\)])|(^[A-Z]{1,3})"
A、AAA、(AAA)以外でもA(AA)やAAAA等も正常ケースとして通過してしまいます。
パターンをどのように作成すればよいか教えて下さい。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
先頭だけ強制して終端を強制しないからです。
AAAAは先頭が英字1文字なのでTrueです。
それに{1,3}は1~3ということで2も入ります。
正しいパターンは以下の通りです。
^(\([A-Z]{3}\)|[A-Z]|[A-Z]{3})$
初めに先頭から最後までが()内のいずれかで
あることを宣言します。^(●|▲|■)$
()の●は左カッコ、英字3文字、右カッコ
▲は英字1文字、■は英字3文字です。
教えていただいたパターンで無事チェックを行うことができました。
先に回答をしていただいた方には申し訳ないのですが、
より詳しく説明を記入してくださったnda23様の回答を
ベストアンサーに選ばせていただききました。
正規表現を使い始めたばかりで、大変勉強になります。
本当に助かりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
Excel関数「COUNTIF」で”文字”...
-
なぜインターネットでは半角カ...
-
「半角スペース」と「 」...
-
auのCメールの通信料はいか...
-
VBAで英数字入力チェックしたい。
-
ショートメールの文字数
-
ハイパーリンク・・・・
-
WinとMac両方を使っている方に...
-
2つ以上の連続する空白文字を除去
-
エクセルのCOUNTIFが正しくカウ...
-
全角括弧と全角読点の間隔を狭...
-
正規表現について
-
VBScriptである文字列に半角文...
-
Accessの文字数を調べたい
-
たびたび申し訳ありません。日...
-
CapCutってどうやったら文字を...
-
ColdFusionにて
-
エクセルで列の頭5文字を削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の入力で横バー上段、中断...
-
メッセージボックスで1025文字...
-
全角括弧と全角読点の間隔を狭...
-
エクセルのCOUNTIFが正しくカウ...
-
Excel関数「COUNTIF」で”文字”...
-
VBAで英数字入力チェックしたい。
-
XMLのタグ名の禁則文字
-
全角英数文字が嫌われる理由を...
-
半角記号、全角記号を含む正規...
-
2つ以上の連続する空白文字を除去
-
Replace関数は文字数の制限ある...
-
記号は半角と全角どちらがよい...
-
エクセルでの漢字、カタカナ、...
-
特定の文字を簡単な操作で半角...
-
SEO タイトルに「&」を使用
-
パソコンで全角、半角文字の切...
-
文字列中の両丸括弧を取り除くV...
-
Excel2002 一桁数字だけ全角に置換
-
IT企業の技術屋にとって全角英...
-
Phonetic関数を利用して文章中...
おすすめ情報