- ベストアンサー
正規表現のマッチングパターン
yyr446の回答
- yyr446
- ベストアンサー率65% (870/1330)
メタ文字'-'をエスケープすればOK "[^0-9A-Z。\-゜]"
関連するQ&A
- 正規表現について
正規表現について質問をさせていただきます。 VB6.0にて正規表現を使用し、入力された文字のチェックを行っていますが どうしてもうまくいきません。 チェックしたい文字は A(半角アルファベット大文字1文字)または AAA(半角アルファベット大文字3文字)または (AAA)(半角カッコつき半角アルファベット大文字3文字)で 上記3パターン以外はエラーとしたいと思っています。 パターンは下記のように作成したのですが "(^[\(][A-Z]{3}[\)])|(^[A-Z]{1,3})" A、AAA、(AAA)以外でもA(AA)やAAAA等も正常ケースとして通過してしまいます。 パターンをどのように作成すればよいか教えて下さい。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- メルアドをチェックする正規表現?
こんにちは,よろしくお願いします。JavaScriptでメルアドをチェックしようと次のような文字列を,patternという変数に代入して, var pattern = "^[a-z0-9\-_.]+@[a-z\-]+(\.[a-z\-]+)*com|net|org|edu|gov|mil|int|info|biz|name|pro|museum|aero|coop|[a-z][a-z]$"; 次のようにチェックしたのですが, if(mail.match(pattern)){・・・ "aa"など,2つ以上の小文字のアルファベット文字列にマッチしてしまいます。つまり,@が入っていなくてもマッチしてしまいます。実は,正規表現の解説書を見てこのような文字列としたのですが,JavaScriptでは不都合な点があるのでしょうか?ご存知の方がいらっしゃいましたら,ご教授ください。よろしくお願いします。
- ベストアンサー
- JavaScript
- 正規表現について
PHP5.2.4を使用しています。 任意の数の引数がある文字列をpreg_matchを使ってマッチさせたいのですが、 例えば"ENUM(ab,cd)"は ab と cd の2つの引数があるとします。 次のようなパターン文字列まではアイデアとして浮かんだのですが、 引数の最後は , がないので当然ですがマッチしません・・・ どのようにパターン文字列を記述すれば良いのでしょうか? $str = "ENUM(ab,cd)"; if (preg_match("/ENUM\(([^\,]+\,)+\)/", $str, $match)) { print "{$match[0]}<br>\n"; }
- 締切済み
- PHP
- シェルで使われる正規表現について
シェル(UNIX)で使われる正規表現ですが、 メタ文字に、アスタリスク「*」があるのですが、 「A*Z」と「Ab*Z」でマッチするパターンですが、 例えば、以下の様な文字列があるとします。 AZ AbZ AbcZ AbcdZ AbcdeZ 「A*Z」でマッチさせると AZ AbZ AbcZ AbcdZ AbcdeZ となり、 「Ab*Z」でマッチさせると AZ AbZ となります。 何故、「A*Z」ではすべてがマッチの対象になるのですか。
- ベストアンサー
- その他([技術者向] コンピューター)
- 正規表現[0-9]
ある文字列が大文字のアルファベット(A~Z)で構成されていることを正規表現を用いてチェックしたいと思ってます。 例えば "A0001" という文字列が A~Z で構成されているかを判断しるにはどうしたらよいですかね?? PatternクラスとかMatcherクラスとかを使用するみたいなんですが、なんかよくわかりません。 以下のように動かしたんですが、全く動きません。 boolean result_flag=false; if("A0001"=[A-Z]){ result_flag=true; } Javaおよびプログラム初心者でわかりずらくてすいませんが、 どうかお助けをよろしくお願いいたします。
- ベストアンサー
- Java
- 漢字などを正規表現でパターンマッチさせる方法?
こんにちは,よろしくお願いします。 名前(姓と名に分けて)を入力してもらうフォームを作っています。 姓名を日本語,つまり,漢字,ひらがな,カタカナを全角(2バイト文字?)で入力してもらいたいと考えています。 ぜんぜんわからないのですが,パターンを次のように考えて, var pattern = "[亜-熙ぁ-んァ-ヶ]+"; if(seimei.match(pattern)){ 上記のようにやってみたらうまくいったように思えましたが,「蓬莱」や「紀香」などの漢字を入力するとマッチしません。 文字セットは”UTF-8”を使っています。 すべての漢字,ひらがな,カタカナをマッチさせるようにするにはどのようなパターンで行えばいいのでしょうか?教えてください。 よろしくお願いします。
- ベストアンサー
- JavaScript
- 正規表現[a-z0-9\-\.]* の意味を教えて
[a-z0-9\-\.]* の意味を教えてください。 preg_matchで確かめてみようと思ったのですが、 よく分かりませんでした。 「半角英小文字」か「数字」か「ハイフン」か「ドット」だと思ったのですが、 「半角英大文字」でも、「""」でも「空白」でも「日本語」でも、1が返ってきました。 「*」を調べたら、「直前の表現の0回以上の繰り返しにマッチ」て書いてあったのですが、 「0回以上」の意味が分かりません。 「すべてに当てはまる」ということなのでしょうか?
- ベストアンサー
- PHP
- 正規表現 英数字を1つ以上含む文字列
ASP.NET(VB)での入力チェックのために、 半角英数字「0~9」「a~z」「A~Z」と、ハイフン「-」からなる文字列 (ただし、半角英数字「0~9」「a~z」「A~Z」はそれぞれ少なくとも1個ずつ含む) の正規表現での表し方が知りたいです。 How To: ASP.NET への入力を制約するために正規表現を使用する方法 http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx (?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$ 8から10文字で、最低1文字の数字と1文字の英字を使用し、特殊文字を使用してはいけません。 上記を参考に、 (?!^[0-9]*$)(?!^[a-z]*$)(?!^[A-Z]*$)^([a-zA-Z0-9])$ こんな感じかなぁと試してみたのですが、ダメでした。 そもそも「!」の意味が分かりません。否定でしょうか??
- ベストアンサー
- Visual Basic
お礼
ご回答ありがとうございます。 "[^0-9A-Z。-゜]"で行いたい処理が出来ました! 他の箇所でも、あるパターンを作成しなければなりませんが、そちらは自分で頑張ってみようと思います。 本当にありがとうございました!