• ベストアンサー

漢字などを正規表現でパターンマッチさせる方法?

bennebの回答

  • benneb
  • ベストアンサー率0% (0/2)
回答No.5

はずしてるかもしれませんが、 単に英数字を禁止にして、英数字が入っていたらアラートを出すようにするとかじゃダメですか?

emikouji
質問者

お礼

bennebさん,ありがとうございました。 確かにそのような方法もありますね。ただ,漢字以外のすべての記号等やハングル等の外国語も禁止するには,ちょっと煩雑かなと感じました。 これからもよろしくお願いします。ありがとうございました。

関連するQ&A

  • 正規表現について

    お世話になります。 ●●● ●●● という文字列かどうか判断する正規表現を作成したいです。 条件としては、 ・「文字1 (←全角スペース)文字2」という感じで、文字1と文字2に全角スペースが挟まれている感じで、文字列の先頭にも末尾にも空白文字は入ってはいけない(真ん中に1つのみ) ・文字1と文字2には、数字・空白以外の文字が入る(主に感じ・ひらがな・カタカナが入る)(文字数は一文字以上) といったところです。 自分で作成した正規表現は、 $pattern = '/^([\d\S])+ ([\d\S])+$/'; if( !preg_match($pattern,$chkStr) ) print "マッチしていない"; } なんですが、どうもマッチしてほしい文字にマッチしていないようなのです。 お手数ですがご教授ください。

    • ベストアンサー
    • PHP
  • 正規表現のパターンマッチがうまくいきません。

    正規表現のパターンマッチがうまくいきません。 入力した文字を含むデータを抽出しようとしているのですが、エラーは出ないものの、ヒットしません。 次の構文をそれぞれを試してみました。 目的は入力された文字$matchを含む$textを@queryに入れることです。 if($text =~ /$match/){ push(@query, $text); } if($text =~ /\$match/){ push(@query, $text); } if($text =~ /.*\$match.*/){ push(@query, $text); } if($text =~ m/.*\$match.*/){ push(@query, $text); } 半角英数で何度か試したのですが、どれでやってもヒットしてくれません。 どこをどのように訂正すればいいでしょうか。 お分かりの方ぜひご指導ください。 ちなみによく入力データを$in{aaa}とか$QUERY{aaa}などとまとめることがあるのですが、これを正規表現にそのまま入れるにはどうしたらいいでしょうか。 {}は量指定子になるのでこのままではエラーになるかなとも思うのですが、\などでエスケープすればいいのでしょうか。 上の$matchも元々は$in{aaa}なのですが、 $match = $in{aaa} として変えています。

    • ベストアンサー
    • Perl
  • 全角カタカナの正規表現

    if (preg_match('/[ァ-ヶー]+/', $value, $match )) { print ("$value"."はカタカナです。"."($match[0])"."<br />") } else { print ("$value"."はカタカナではない。<br />"); } という感じで全角カタカナにマッチさせる正規表現を使いたいのですが、このやり方だと「全角カタカナを含んでいる…」という表現になってしまいます。ある文字列が「すべて全角カタカナである」という正規表現を考えているのですが、なかなかうまくいきません。逆引きのサンプルなんかでもなかなか見つからなくて困っています。  同様に「すべて平仮名にマッチ!」というのにも応用できると思うのですが、なかなかうまく行きません。  是非、そのやり方やヒントをおしえてください。  マルチバイト対応なので[ぁ-ん]のような形で表記できます。またPerl互換(preg_match)で作っているので、Perlに詳しい方も是非是非おしえてください。

    • ベストアンサー
    • PHP
  • Javascriptでのドット(.)正規表現につい

    Javascriptで入力したファイル名に禁止文字がないかmatchを使って確認しようと しています。 ファイル名にドット(.)があったらエラーにしたいのですが、ファイル名末尾に ドット(.)があった場合はちゃんとチェックしてくれますが、ファイル名の真ん中に ドット(.)があった場合はチェックされません「\\.」としてますがなにがいけない のでしょうか。 また、漢字、全角ひらがな、カタカナ、半角英数字、ハイフン(-)、アンダーバー(_) のチェックもしたいのですが条件が多くて複雑化して見栄えが悪いです。 上手くすっきり書く方法はないのでしょうか。 よろしくお願いします。

  • Access97:漢字を除いて全角文字の入力を禁止するには

    使う文字 漢字、半角英数、半角カタカナ、半角括弧() 禁止文字 全角英数、全角カタカナ ひらがな どうやったら入力制限出来るでしょうか?

  • 正規表現に関して

    初歩的な質問で済みません。。 今、入力内容が人名で有るのかを調べる関数を作ろうとしています。 具体的には、 1、漢字、ひらがな、全角カタカナでの入力であるか。 2、性名の間に全角スペースが入っているか。(出来れば、外国名の場合はミドルネームの前後にスペース) を判別したいのです。 正規表現を使えば良いと思うのですが、webを調べましたが具体的な記事が見つかりませんでした。 どうやら自分には正規表現が理解しがたいようです。。 詳しい方、解りやすく教えて下さい!

    • ベストアンサー
    • PHP
  • 正規表現で漢字3文字「大◯◯」を検索したい。

    小説を保存したテキストファイルにある、漢字3文字熟語「大◯◯」を「Word2010」で一度に検索したいです。   例)大火事、大渋滞 など 正規表現を使用すれば可能でしょうか。 「大」あとに、ひらがなやカタカナが1文字くるなら (大)([あ-ん,ア-ン]) でいいと思うのですが、 質問1) 漢字の場合どうなりますか。検索した限りでは    (大)([亜-腕弌-熙])    (大)([一-龠])     で、「大」の後1文字以上漢字がある場合は検索できそうですが、これ以上はわかりませんでした。 質問2) 「大」の後が、2文字熟語<限定>で検索したい場合はどうなるのか。 質問3) 漢字3-4文字の例はあんまりないかもしれませんが、応用が効きそうなので、、、「大」の後、漢字1文字しかないものは含まないー漢字2文字<以上>の場合ーはどうなるのか。 質問4) 漢字の範囲を表す表現は上記のように複数見つかりましたが、一番いい方法というのはあるのでしょうか。使い分けとか有りますか。 を知りたいです。 以上をご存じの方、教えて下さい。 また、フリーソフトなど正規表現以外の方法があれば、それもアドバイスいただければ助かります。 何卒よろしくお願い致します。

  • 正規表現のマッチングパターン

    WindowsXP、VB6.0にて勉強しております。 http://oshiete1.goo.ne.jp/qa4544122.html 上記質問に関連してなんですが、 パターンをどう記述して良いか分からず困っております。 行いたいのは、数字・A~Z(半角大文字アルファベット)・半角カタカナ以外の文字が文字列に含まれているかどうかなんですが、 "[^0-9]|[^A-Z]|[^。-゜]" というパターンではうまく行きませんでした・・・orz 「()」を使用し、 「"(ab)|(cd)|(ef)" は "ab" または "cd" または "ef" にマッチ」 というのは分かったんですが・・・。 有識者の方、教えていただけませんか? よろしくお願いいたします。

  • 半角英数字の正規表現でドット(.)がはじかれない

    Javascriptのmatchでファイル名の使用可能文字のチェックを行っています。 使用可能文字は漢字、全角ひらがな、カタカナ、半角英数字、ハイフン(-)、 アンダーバー(_)で以下のように書いています。 if ( filename.match(/[^\u30a0-\u30ff\u3040-\u309f\u30e0-\u9fcf\0-9a-zA-Z\-\_]/) ){ alart(NG) // 使用可能文字以外が含まれている } else{ alart(OK) // 使用可能文字だけ } ファイル名が「ひらがな-カタ_漢字1a」はOK、「ひらが.な-カタ_漢字1a」はNG としたいのですが両方OKになってしまいます。 どうやら半角英数字の「0-9a-zA-Z」を条件に入れることでドット(.)も使用可能文字 とされてしまうみたいです。 「0-9a-zA-Z」を外すと「ひらが.な-カタ_漢字1a」はNG判定になります。 なぜこのようになるのか教えて下さい。

    • ベストアンサー
    • Java
  • Shift-jisで正規表現

    はじめまして。Perl初心者です。 やりたい事は、フォームからPOST形式で文字データを受け取り、 用意してあるtxtファイルから読み込んだデータの中から、正規表現でマッチするものを探すことです。 Windows環境であることと、入力(フォーム)も出力(表示するブラウザ等)もShift-jisなので、shift-jisで限定しています。 特にencodingを指定しなくても、ひらがなと漢字では上手くいきます。 カタカナと全角数字を入力したとき、上手くいきません。 色々調べていたら、以下のサイトさんで近いことが紹介されていました。 http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm#solutions しかし、自身では力不足のため、解決出来ないでいます。どなたか詳しい方、ご教授お願いいたします。