• ベストアンサー

Linuxの正規表現について

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Kaone
  • ベストアンサー率60% (33/55)
回答No.1

行頭が「#」で始まる行は ^#.* ^ ←行頭 # ←次の文字 . ←任意の1文字 * ←左のパターンまたは文字の0回以上の繰り返し 行末までマッチさせるなら下記のように最後に$をつける ^#.*$ aもしくはfで始まる三文字の文字列は ^[af].. ^ ←行頭 [] 内は、中にあるどれでも一つの一文字にマッチする . ←任意の1文字 ふたつあるから、任意の二文字で かな

UNIuti
質問者

お礼

ありがとうございました。詳しく説明までしていただいて。 これでテスト頑張れそうです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Linuxで、正規表現を使って、アクセスログから

    Linuxで、正規表現を使って、アクセスログから a_id=12345 という文字列を含む行を抜き出し、別ファイルへ保存したいのですが、 どのようにコマンドを実行すれば、実現できるでしょうか?

  • 正規表現にて質問があります。

    テスト勉強をやっていて過去問をみたら正規表現の部分だけわからずにいます (1)α=(0|10)*2(1|00|010)+ (2)α=(ab|c)*c(bc|a)+ (3)α=(1|22)*a(333|4444)* (1)正規表現αが表す文字列内、文字列長が1のものすべてを列挙せよ (2)正規表現αが表す文字列内、文字列長が2のものすべてを列挙せよ (3)正規表現αが表す文字列内、文字列長が3のものすべてを列挙せよ (4)正規表現αが表す文字列内、文字列長が4のものすべてを列挙せよ の答えを教えてもらえないでしょうか? もしよろしければどうやってとけばいいかのアドバイスもお願いします

  • 正規表現について

    いま.Netで正規表現にチャレンジしているのですが、どこが問題なのか分からず、投稿させていただきました。 正規表現のパターンです。 \\[Cc]\[(?<$0>[0-9]+),(?<$1>[0-9]+),(?<$2>[0-9]+)\] で、マッチさせたい文字列は、 \C[255,255,255] です。「[255,255,255]」の数字の部分は、一桁から三桁までの数字であれば何でもOKです。 マッチしないことは、http://jsregex.com/を使って調べました。 どうぞよろしくお願いします。

  • 正規表現が解りません

    正規表現が難しくて困っています。 次のようなパターンはどうやって表せば良いのでしょうか? (1)"http"から始まる文字列である。 (2)"http"もしくは"a"から始まらない文字列である。【否定文】 初歩的な質問で申し訳ありませんが、どなたかご存知でしたら宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現。行頭が○○以外にマッチさせたい。

    正規表現を勉強しています。行頭がxyzという文字列以外をマッチさせたいと思っています。行頭にマッチさせるには"^xyz"と理解できます。[^xyz]とやるとx,y,z以外の文字列にマッチするのもわかります。ただ、これだと 123 xyz の文字にもマッチしていまいます。行頭がxyzで続く文字列以外にマッチさせる正規表現はどうかけばよろしいでしょうか?

  • 正規表現の書き方が分かりません

    atesttestの様にに続いている文字列から最後のtestだけ取り出す正規表現の書き方が分かりません。 一応この文字列は「ふぁぇいじょatestえあいふぉあいじぇふぉtestだふぉえいふぉあじょあいふぇお」みたいな文字列に入っているんですけどatestのtestは抜き出さずtestだけ抜き出す方法は有りませんか

  • javaの正規表現について質問です。

    javaの正規表現matchesに関して質問です。 正規表現を用いて文字列が半角数字のみで出来ているかどうかを判定したいと思っています。 調べたとろこ下記の正規表現で判定できそうなのですが、 正規表現のルールが理解できず困っています。 ------------------------------------------- String aaa = "0123456789"; //パターン1 aaa.matches("^[0-9]{10,11}$"); //パターン2 aaa.matches("^[0-9]+$") ------------------------------------------- パターン1 ^[0-9]   →  文字列の先頭が0~9か判定 {10,11}   →  10~11回繰り返す(繰り返すというのは[0-9]かどうかということでしょうか?)           12文字目に文字を入れた下記文字列でもfalseが返ってきました。           解釈が間違えている?           String aaa = "0123456789a"; $      →  文字列の最後が[0-9]を10~11回繰り返しているかどうか? パターン2 ^[0-9]   →  文字列の先頭が0~9か判定 +$ →  文字列の最後が???? すいません自分で書いてて混乱してきました。 どなたかアドバイス下さい。

    • ベストアンサー
    • Java
  • 【正規表現】コメントアウトされていない文字列のマッチ

    お世話になっております。 あるファイル群にgrepをかけて結果を取得したいのですが あと半歩という所でつまづいています。 正規表現の考え方のご示唆をいただけませんでしょうか。 宜しくお願い致します。 ■やりたいこと コメントアウトされていない文字列のマッチ ■対象文字列 1行目:ほげ 2行目://ほげ 3行目:// これは否定 ほげ 4行目:ほげ //ここにコメントがはいるとひっかからない(><) ■コメントアウト文字 // 1行目と4行目の「ほげ」をマッチさせたいのです。 正規表現の先読み否定を使って ^(?!//.*)ほげ$ 行頭から、「//」が後に続かなくて「ほげ」がある行末 とやってるのですが、 4行目がひっかかりません。 (?!//.*)の部分で、「//」から「ほげ」までを否定している為だと思うのですが、どのように考え、どのように記載すればスマートでしょうか。 お忙しい所恐縮ですが アドバイスいただければ幸いです。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • 正規表現の表現パターンについて教えて下さい。

    こんばんわ、正規表現を使ってある文字列を検索するプログラムを勉強していたのですが、 eregi('(http://|https://)[a-z0-9./_\-]+',第二引数、第三引数) となっていたのですが、第一引数の最後の + の部分はどうゆう意味があるのでしょうか? 僕の理解では[ ]の間が検索する正規表現のパターンだと思っているのですが、、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現についてお教え下さい

    正規表現についてお教え下さい。 )以外の全ての文字列(改行・Tab・空白等含む)の1回以上の繰返しという記述は正規表現ではどのような記述になるでしょうか? NoEditorで下記のような条件でgrepしようとしたのですがうまくいきません。 [[^[^\)]] \t\n\r\f]+ 具体的には下記のような5行があった場合、以下のような条件で1、2、3行目を抽出できるということを想定しています。 条件:AAA )以外の全ての文字列の1回以上の繰返し \) ※現状の条件の記述はAAA[[^[^\)]] \t\n\r\f]+\) 1行目 AAAあ(aaa) 2行目 AAA あ(aaa) 3行目 AAA あ 4行目 (aaa) 5行目 AAA)