- ベストアンサー
正規表現で末尾2文字が「01」でないデータを取得する方法
pringlezの回答
- pringlez
- ベストアンサー率36% (598/1630)
A0001 A0002 A0011 A0100 A0101 A0201 に対して「^A0+」を削除すると以下になります。 1 2 11 100 101 201 これで比較するのはどうでしょう。 どういう関数を使ってどう書いているのかわかりませんが、マッチングの関数を1回だけで処理しようとすると困難だし、できたとしてもわかりにくくなってメンテナンス性が下がると思います。 一度不要部分を削除(空文字にreplace)してから、マッチングもしくは数値に変換して比較などすれば比較的シンプルに実装できるのではないかと思います。
関連する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
- 正規表現メタ文字「-」のエスケープについて
いつもお世話になります。 正規表現のメタ文字のエスケープ処理を行いたいのですが、「-」の記号については、「[」「]」の中に出てきたときのみ([a-z]、[0-9]など)、エスケープの対象になります。 この場合、どのような正規表現を指定すれば、エスケープを行うことができるでしょうか。 例) [a-z|A-z] ⇒ [a\-z|A\-z] 宜しくお願いします。
- 締切済み
- Java
- 秀丸の正規表現
秀丸の正規表現 http://pc.dearie.jp/hidemaru/replace/14.html 上記URLでメールの正規表現について解説があります。 [A-Za-z0-9\-\.\_]+@[A-Za-z0-9\-\_]+\.[A-Za-z0-9\-\.\_]+ この正規表現でメールの検索をおこなっています。この正規表現は理解出来ます。 .*([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+)([^a-z0-9@\.\-\_]+).* キャプチャを使って正規表現でメールアドレスをマッチしているのは理解できます。 なぜ置換で、「\1,」とやっても、メールアドレスのみを取得できないのでしょうか? 実際に秀丸エディタを使ってやってみましたが、メールアドレスのみ取得することができませんでした。 検索ではメールアドレスにマッチするのに、なんでキャプチャが正しく動かないのかがわかりません・・・
- ベストアンサー
- その他([技術者向] コンピューター)
- Perlで使える正規表現を教えて下さい。
Perlで使える正規表現を教えて下さい。 半角英語で、小文字が3文字以上続いた後、大文字が来る場合、その大文字の右にスペースを入れる。 これをPerlで使える正規表現を教えて頂けないでしょうか? 例 $str = 'AaaAaaaBbbbbCccccDddBbA'; # Aaa Aaaa Bbbbb Ccccc DddBbA ちなみに、色々ネットで調べて試してみて、 $str =~ s/([a-z])([A-Z])/$1 $2/g; が最も近いコードになったのですが、2文字続いただけでもスペースが入り困っています。 宜しくお願い致します。
- ベストアンサー
- Perl
- 正規表現について教えて下さい
正規表現について教えて下さい $string = "LibrayMyUtil2File AppFile"; $pattern = '/([A-Z][a-z0-9]*)*([A-Z][a-z0-9]*)File/'; $replacement = '$2'; echo preg_replace($pattern, $replacement, $string);//Util2 App と表示される この例のように、「File」の前の単語に置き換えたいのですが、 このやり方だとpatternの「[A-Z][a-z0-9]*」が重複しているのが凡長だと思ってまして もっと短縮された書き方があれば教えてもらいたいです。
- ベストアンサー
- PHP
- 正規表現で
正規表現で、英大文字と記号だけからなる文字列、を表すにはどうすればよいでしょうか。言い方を変えると、とにかく英小文字は含まないという事なんですが… [^a-z]+ かなと思ったのですがダメでした。 123#ABC : OK 123#aBC : NG みたいな感じです。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 正規表現にマッチする文字列の一括出力
任意の正規表現を与えてやり、そのパターンに合致する文字列を 1行1文字列でテキストファイルに一括出力したいと考えています。 例えば、 [a-z][a-z][a-z] を与えてやると、 aaa aab aac aad ... ... zzx zzy zzz と、26の3乗で17576行の文字列をテキストファイルなどに出力。 LINUXのコマンドラインなら多少分かるのですが、プログラミングは さっぱりで、上記の目的につかえそうなユーティリティも探してみた のですが、見つけることはできませんでした。 よい方法がありましたら、ご教授よろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
お礼
ありがとうございます。 参考にさせていただきます。