• ベストアンサー

linuxなどの正規表現において[1-9]のとりあつかいについて

yambejpの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

正規表現は文字列を判断するものだということから理解すれば自明です。 おそらくなさりたいことは a(?:1[1-9]|20) 的な処理が必要です。

関連するQ&A

  • Linuxの正規表現について

    Linuxの正規表現について教えてください。 正規表現を使うと、文字列のパターンを表す事ができる。例えば、行頭が「#」で始まる行は____、aもしくはfで始まる三文字の文字列は____となる という問題なんですけど____の部分をだれか教えてください。明日テストなんだけどわからくて… お願いします。

  • 正規表現について

    HTMLファイルを読み込み、特定の文字列にリンクを付けて出力したいのですが上手くいきません。 例: <img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。  ↓正規表現をキーワードにしてリンクを付けたい。 正:<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。 誤:<img src="./seiki_hyougen.gif" alt="<a href="seiki_hyougen.html">正規表現</a>についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html"><a href="seiki_hyougen.html">正規表現</a>の詳しい説明</a>をクリックして下さい。 尚、下記URLのサンプルを参考にしてスクリプトを作成しています。 http://php.oss.eznetsols.org/manual/ja/function.preg-split.php $r = preg_split('((\/a>)|(<a))', $html, -1, PREG_SPLIT_DELIM_CAPTURE); for ($i = 0; $i < count($r); $i++) { if ($r[$i] == "<a") { $i++; continue; } $r[$i] = preg_replace( "/(正規表現)/i", "<a href='seiki_hyougen.html'>\\1</a>", $r[$i] ); } return join("", $r); この(正規表現)の部分で上手い正規表現を使えばalt="×××"の中にリンクタグが入らないようにできるのでは?と思っているのですが・・・。 どうか、良い方法を教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現について

    正規表現について、 ○○○「\d」{20}○○○ は、数字を20回繰り返す意味で良いですよね? と言うことは、数字を15回繰り返すものや、30回繰り返すものはダメで、 繰り返す回数がちょうど20回でないと一致しないということですよね?  もちろん数字じゃないとダメですよね? 合っているでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Java
  • 正規表現について

    正規表現について 正規表現について昨日から取り組み始めたのですが、ごく簡単な説明ですでに四苦八苦しております。 下記HPを参考に始めたのですが、「^http://.+/$」の場合の「.+」の部分がよくわからずにおります。 http://www.scollabo.com/banban/php/php_15.html とりあえず、 「^http://」は、http:// から始まる場合 「/$」は / が末尾に来る場合 という理解なのですが、この私の理解で間違いはないでしょうか? 「.+」では、「 . 」は任意の1文字と説明があるのですが、ここでの 任意 とはどの部分をさす事なのかもよくわからないでいます。(/でしょうか?) リンク先HPでも本来十分解説がされているのかもしれませんが、「.+」について少しご解説をいただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 正規表現で

    正規表現で 8文字以上、15文字以内で1文字以上の英語(大文字小文字どちらか一方で可)と数字が含まれている表現を考えているのですが、思いつきません。 [0-9a-zA-Z]{8,15} だと全て数字・英語でも通ってしまうので、困っています。 どなたか詳しい方、ご教授ください。

  • 正規表現の添削をお願いします

    アルファベットと数字とスペースと「-」のみで構成される任意の長さの文字列をjavaの正規表現であらわしたいです。 [\s0-9a-zA-Z-]+ でいいのでしょうか? 最後の「-」がまずいような気がするのですが、[-]はどこに持っていくのが正しいのでしょうか。 他にも間違っているところがありましたら、教えて下さい。

  • |。ってなんですか? 正規表現

    正規表現の学習中です。読んでいる本の中に次の式がありました。  (?<=^|。)[^。]+。 日本語の文章の中から一文を抽出するための正規表現です。  。以外の文字がダーッと連なった後に。が来る文字列 とのことです。  [^。]は。以外の文字  +はそれが1個以上ある ですから  [^。]+ は  。以外の文字が1個以上ある という意味です。 その後に。が付きますから、  [^。]+。 だけで  。以外の文字がダーッと連なった後に。が来る文字列 ということになります。 では  (?<=^|。) の意味は何でしょう。  (?<=なんたら) は後方参照を意味しますから、 ^|。 のすぐ後に [^。]+ が続くと言いたいのでしょうか。 だとすると  ^|。 が問題です。  ^もしくは。 という意味なら、^は正規表現で記号として使われている文字ですから、  \^|。 と表現されそうなものです。 それに、。は文末でしか利用されない文字ですから、これに注目して検索を行うというのは理解できますが、^は日本語でなんら特徴を持つ文字ではありません。  ^もしくは。 という理解は間違いでしょう。 それでは^を記号として考えるとして、その前後を[]で囲んでいないから、この^は文字列の先頭を表すのでしょうか。そうすると件の正規表現は  先頭の|。のすぐ後から。以外の文字が連なった後に。が来る文字列 という意味になります。日本語の一文を抽出する正規表現という解説にかなり近づいてはいます。 しかし  |。 とは一体何? |はorを意味する記号ですが、  何とか or 。 という意味でしょうか。 でも「何とか」は「何とか」なりに何か文字表現がなされていても良さそうですし、それに  先頭の「何とか」または。のすぐ後から・・・ という解釈は意味不明。  |。 はどのように解釈すべきなのでしょうか。 お手数をお掛けします。

    • ベストアンサー
    • Perl
  • 正規表現を教えて下さい

    「2つ目のドット"."までに、1つのドットと8文字以上の数字を含む」という正規表現で悩んでいます。 正規表現が得意な方、ヒントを頂ければ助かります。

    • ベストアンサー
    • Perl
  • linuxで正規表現を使ってファイルをコピーしようとしているのですが正

    linuxで正規表現を使ってファイルをコピーしようとしているのですが正規表現の記述が間違っているためコピーできません. どこが間違っているのかまったく分かりません. ご教示よろしくお願いします. (コピーしたいファイルの数が少ないですが正規表現の勉強のため質問させていただきました. ) ========コピーしたいファイル群============ 0126-ad-g2.dat 0126-d-g2.dat ========================================== ========実行したコマンド================== cp [0-9]\{4\}-[a-z]\{1,2\}-g2\.dat ../g2/ ==========================================

  • 正規表現

    数字と大文字、小文字のアルファベットは入力OK。 記号も入力OK。でも、記号の中でも「”」、「.」は ダメ。しかも、10桁くらい入力できるようにする。 を表す正規表現は [a-zA-Z0-9&&[\"\.]]* と思ったのですが、 正しく表す正規表現はどの様なものになるのでしょうか? お願いします。

    • ベストアンサー
    • Java