- ベストアンサー
Mで始まりuで終わる文字列
の正規表現をつくりたいのですが、 if(/^H u$/){ print; } という文字を書くときに、 上のIf分ところをどう拡張すればいいのでしょうか? アスタリスクはつかえないし、、 とりあえず任意の文字の連続とかにすればいいのでしょうか? お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。始めの文字はタイトル(M)と本文(H)のどちらが正しいですか? >とりあえず任意の文字の連続とかにすればいいのでしょうか? ですね。本文を信用するなら「/^H.+u$/」です。 「Hu」、つまり間に何も挟まないケースも含むなら「/^H.*u$/」になります。
その他の回答 (1)
- nightowl
- ベストアンサー率44% (490/1101)
お礼ありがとうございます。このように「//」で囲まれた部分のことを 「正規表現」といい、ファイル名に使えるワイルドカードに似ていますが はるかに強力なものです。 それを取り上げているサイトだけでもこれだけの数がありますし、 オライリー・ジャパンからは「詳説 正規表現(第2版)」という (Perl などと絡めてはいますが)正規表現だけの本も出ています。 http://www.oreilly.co.jp/BOOK/regex2/ http://srekcah.org/~utashiro/docs/regex/ メールアドレスとマッチする正規表現の例には驚かれることでしょう。 もっとも、メールアドレスの規格は入れ子コメントを許していますので、 これでも実はまだ不完全です。 (正規表現だけでは入れ子構造を解析するには力不足なのです) http://www.din.or.jp/~ohzaki/perl.htm#Mail 過去にも正規表現関連の質問に答えておりますので、ご覧ください。
- 参考URL:
- http://www2.famille.ne.jp/~akio1998/l_grep.html,http://oshiete1.goo.ne.jp/kotaeru.php3?q=554077
お礼
ありがとうございます。 困ったときに参考URLをみてみます。 いや~正規表現っておもしろいですね、
お礼
大変ありがとうございます。 できました! 私がしたかったのは、 タイトルどおりMで始まる文字列でした。 すいません。