正規表現で、00で始まる画像をgrep検索したいのですが、どう書けばよいでしょうか?
ネットで調べてやってみたところ、下記のような感じになったのですが、もう少しスマートな書き方をするには、どうすればよいでしょうか?
00+.+.+(?=jpg)
これだと、例えば「004-main.jpg」だけではなく、「400-thumbs.jpg」なども検索されてしまいます。
■探したい対象の中身の例(明示的な規則性はありません)
900.jpg
<img src="images/400_300_1.jpg" alt="正規表現分からない" width="400" height="300" border="0">400_300_2.jpg<a href="#" target="_blank"></a> 002_main.jpg <br />005.jpg<br /> 006_thumb.jpg
■また、行の先頭にマッチするという「^」について知りたいのですが、行頭というのは何を持って 行頭と見做されるのでしょうか? 改行の後の文字=行頭ということなのでしょうか?
■例えば、下記のような中から、005-main.jpgを検索しようとする場合、必ず<br />の後に005-main.jpgがくる、みたいな法則性がないと、いわゆる単語単位での切り取りみたいなのは出来ないのでしょうか?
<br />005-main.jpg<br />
No.2ベストアンサー
- 回答日時:
grepもいろいろ種類があって、使える正規表現が違うものがある(正規表現が使えない紛い物まで存在する!)ので、一番基本的な正規表現だけで書くとこんな感じでしょうか。
[>/"] *00[^.]*\.[jJ][pP][gG]
この式の弱点は、行頭にあるものは見つけられないことです。また、HTMLタグの中に書かれていないものもダメです。
で、行頭ですが、文頭を除いて改行の次で合っています。改行しかない行(空行)は、行頭であると同時に行末でもあるという扱いになり、^$という式で表せます。
余談ながら、grepの場合は検索だけなので問題にならないのですが、sedやawk,perlなどのテキスト処理言語やエディタなどの置換できるツールで、行頭や行末を加工した場合は話がややこしくなります。なぜなら新たな行頭や行末が発生してしまうため、これをどう扱うのかという話になるからです。正しくは、行頭や行末に対する置換は一度しか行われないことですが、これを正しく実装できていないエディタもあるので、注意が必要です(特に行頭)。
ご回答ありがとうございました。
また、アドバイスもいただき、ありがとうございました。
>grepもいろいろ種類があって、使える正規表現が違うものがある(正規表現が使えない紛い物まで存在する!
>行頭や行末に対する置換は一度しか行われないことですが、これを正しく実装できていないエディタもあるので、注意が必要です(特に行頭)。
実はツールとエディタと双方で試していて、処理結果が微妙に違うのにも悩んでました。
大変勉強になりましたー!
No.1
- 回答日時:
正規表現はプログラムによって異なります. したがって, ものによっては「プログラムA では使うことができるがプログラムB では使えない」こともあります. また状況によって解釈が変わることもあります.
ということで, 書籍を紹介するにとどめておこう.
参考URL:http://www.oreilly.co.jp/books/9784873113593/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS 角丸画像の背景色を透明にしたいです 1 2023/06/23 23:15
- Excel(エクセル) Excel 毎日手作業で時間がかかって、泣きたいです、、、VBAのプロの方、助けてください。。。 3 2022/10/25 04:26
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現でAND検索はできる...
-
正規表現でカウントアップ(?)す...
-
文章中全ての半角カッコ ( の...
-
正規表現です。括弧内にある複...
-
正規表現 秀丸エディタ 行頭か...
-
メールアドレスの正規表現について
-
VBSのRegExpの拡張機能を有効に...
-
PS4コントローラーをPCでゲーム...
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
Chr(13)とChr(10)の違いは?
-
1文字って1バイトだったっけ?
-
EBCDIC⇒SJIS変換の方法
-
履歴書の志望動機の所で、「ま...
-
std::stringからLPCWSTR型への変換
-
文字列からタブコードを取り除...
-
4Kの外部モニターに出力すると...
-
「彡」って文字はなんという文...
-
エクセルで文字列の最大値を抽...
-
アクセスで特定の数字以外(複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現 秀丸エディタ 行頭か...
-
正規表現でAND検索はできる...
-
メールアドレスの正規表現について
-
正規表現でシングルクォーテー...
-
C言語のコメントを「正規表現」...
-
正規表現です。括弧内にある複...
-
第二水準漢字が含まれるか?
-
VB.NET で正規表現を使用した検...
-
金額を検索する正規表現について
-
MFCで正規表現
-
文章中全ての半角カッコ ( の...
-
vbaの正規表現で、マッチした一...
-
[VBS] テキストファイルから任...
-
Mで始まりuで終わる文字列
-
正規表現で文字クラスの引き算
-
C言語にパターンマッチってない...
-
正規表現で( , -, ] を表すと。
-
正規表現で、00で始まる画像をg...
-
正規表現でカウントアップ(?)す...
-
正規表現で一致しない(否定)場...
おすすめ情報