- ベストアンサー
正規表現で
正規表現で、英大文字と記号だけからなる文字列、を表すにはどうすればよいでしょうか。言い方を変えると、とにかく英小文字は含まないという事なんですが… [^a-z]+ かなと思ったのですがダメでした。 123#ABC : OK 123#aBC : NG みたいな感じです。 よろしくお願いします。
- kochin02
- お礼率90% (9/10)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 英大文字と記号だけからなる文字列 ^[A-Z0-9]+$ じゃぁ駄目でしょうか? 正規表現は何を使って判断するかによって多少書式が違いますので、それも書かれた方がよろしいかと。
関連するQ&A
- 文字列を含まないという正規表現は?
お世話になります。 例えば、文字「a」を含まないという正規表現は、 "[^a]" となりますが、文字列「abc」を含まないという正規表現はどうなりますでしょうか? "[^abc]" ではだめでしたし、 "[^(abc)]" でもだめでした。 また、改行などの制御文字を含めたどんな文字でもいいという正規表現はどうなりますでしょうか? ".*" では改行などが含まれるときはだめでした。 どうかご教授のほどよろしくお願い致します。 次のサイトは参考にしたサイトです。 正規表現の解説 目次 http://www4.ocn.ne.jp/~kaerume/k2e/regex_top.html#mnu_top
- ベストアンサー
- Visual Basic
- 正規表現でパスワードのチェック
8文字以上で、アルファベット大文字、アルファベット小文字、記号を最低1つずつ含んでいるか、というチェックを正規表現で行いたいと考えています。 以下のようにしているのですが、うまくいきません。間違っているのでしょうか? ^(?=.{8,})(?=[a-z]+)(?=[A-Z]+)(?=[~!#$%^&`*+;:"'?/|{}.=_,-]+).+$ また、使用しているのは、Jakarta-OroのPerl5Utilです。 使用しているライブラリが悪いのでしょうか?
- ベストアンサー
- Java
- 正規表現の表現パターンについて教えて下さい。
こんばんわ、正規表現を使ってある文字列を検索するプログラムを勉強していたのですが、 eregi('(http://|https://)[a-z0-9./_\-]+',第二引数、第三引数) となっていたのですが、第一引数の最後の + の部分はどうゆう意味があるのでしょうか? 僕の理解では[ ]の間が検索する正規表現のパターンだと思っているのですが、、よろしくお願いいたします。
- ベストアンサー
- PHP
- |。ってなんですか? 正規表現
正規表現の学習中です。読んでいる本の中に次の式がありました。 (?<=^|。)[^。]+。 日本語の文章の中から一文を抽出するための正規表現です。 。以外の文字がダーッと連なった後に。が来る文字列 とのことです。 [^。]は。以外の文字 +はそれが1個以上ある ですから [^。]+ は 。以外の文字が1個以上ある という意味です。 その後に。が付きますから、 [^。]+。 だけで 。以外の文字がダーッと連なった後に。が来る文字列 ということになります。 では (?<=^|。) の意味は何でしょう。 (?<=なんたら) は後方参照を意味しますから、 ^|。 のすぐ後に [^。]+ が続くと言いたいのでしょうか。 だとすると ^|。 が問題です。 ^もしくは。 という意味なら、^は正規表現で記号として使われている文字ですから、 \^|。 と表現されそうなものです。 それに、。は文末でしか利用されない文字ですから、これに注目して検索を行うというのは理解できますが、^は日本語でなんら特徴を持つ文字ではありません。 ^もしくは。 という理解は間違いでしょう。 それでは^を記号として考えるとして、その前後を[]で囲んでいないから、この^は文字列の先頭を表すのでしょうか。そうすると件の正規表現は 先頭の|。のすぐ後から。以外の文字が連なった後に。が来る文字列 という意味になります。日本語の一文を抽出する正規表現という解説にかなり近づいてはいます。 しかし |。 とは一体何? |はorを意味する記号ですが、 何とか or 。 という意味でしょうか。 でも「何とか」は「何とか」なりに何か文字表現がなされていても良さそうですし、それに 先頭の「何とか」または。のすぐ後から・・・ という解釈は意味不明。 |。 はどのように解釈すべきなのでしょうか。 お手数をお掛けします。
- ベストアンサー
- Perl
- 正規表現が解読できません。
ツールが対象ファイルを認識する規則が正規表現で記載されているのですが、 正規表現について無知なため、解読することができずに困っております。 ネット等で検索し、[A-Z0-9]や{4,4}など部分的には解読することができたのですが・・・ FILE_COPY.REGEX1=<ABC>\t.+\\\\ABC(\\\\.*)?\\\\[A-Z0-9]{4,4}[0-9]{3,3}[A-Z0-9]+\\\\[A-Z0-9]{4,4}[0-9]{3,3}[A-Z0-9]+\\.gz FILE_COPY.REGEX2=<DEF>\t.*\\\\[^\\\\]*(?<\!\\.tar) FILE_COPY.REGEX3=<GHI>\t.+\\.xml\\.gz どなたかお時間のある方がいらっしゃいましたら、ご教示いただけないでしょうか。 どうぞよろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現で以下の場合はどのようにすればよいのでしょうか?
正規表現で以下の場合はどのようにすればよいのでしょうか? 条件)文字列は英数字と-は許すが文字列内のどこかに-が連続している場合はNGとする。 例) abCd-012 ○ ABC--012 × A-B-C-D- ○
- ベストアンサー
- Java
- (秀丸)正規表現で、特定文字列含む<~>範囲を選択
お世話になります。 (秀丸の)正規表現について教えてください。 たとえば、テキストファイルに、1行、 ”<abc>文字列1です><abc>文字列2です><abc>文字列3です>(ここで改行)” という文字列が存在しています。 それを対象として、 (秀丸の)正規表現を利用し、 ”<abc>文字列2です>”だけをマッチさせたいのですが、 試しに、(秀丸の)正規表現で、 <abc.*文字列2.*?> ←(なお、実際の記号は半角(.*?等)で、それぞれ入力しています・・・) で検索実行したところ、 ”<abc>文字列1です><abc>文字列2です>” として、 前の方に、マッチして欲しくない、 ”<abc>文字列1です>” までがマッチしてしまっている状況です。 そこでご質問なのですが、 上記におきまして、(秀丸の)正規表現を利用して、 ”<abc>文字列2です>”だけをマッチさせるには、 どのようにすれば、よろしかったでしょうか? (ちなみに秀丸は、2013年12月10日(火)現在の 最新バージョンVer8.32を利用しています) 以上になります。 宜しくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ありがとうございます。 英大文字と記号も許可したいのですが、肯定的な表現だと許可する 記号の種類を全て列挙しなくてはいけないので、「英小文字以外」 のような否定的な表現がないかなと思って質問させていただきました。 で、taketan_mydns_jpさんからの回答をヒントにしたら、 ^[A-Z0-9]+$ でうまくいきました。 ありがとうございました。