• ベストアンサー

Mで始まりuで終わる文字列

nightowlの回答

  • ベストアンサー
  • nightowl
  • ベストアンサー率44% (490/1101)
回答No.1

こんばんは。始めの文字はタイトル(M)と本文(H)のどちらが正しいですか? >とりあえず任意の文字の連続とかにすればいいのでしょうか? ですね。本文を信用するなら「/^H.+u$/」です。 「Hu」、つまり間に何も挟まないケースも含むなら「/^H.*u$/」になります。

amuro_78
質問者

お礼

大変ありがとうございます。 できました! 私がしたかったのは、 タイトルどおりMで始まる文字列でした。 すいません。

関連するQ&A

  • $textの文字列の中にある & を ■ に変えたいです。

    <? $text ="u&ampampfayv&ampin&ampe6&rna6uinv"; ///////////////////////////// print $text."<br>"; print "<XMP>".$text."</XMP><br>"; ///////////////////////////////正規表現で置換 $text = preg_replace('/&[^amp]/', "■", $text); ////////////////////////////// print $text."<br>"; print "<XMP>".$text."</XMP><br>"; ////////////////////////////// print "u&ampampfayv&ampin&ampe6■rna6uinv"; print "<XMP>u&ampampfayv&ampin&ampe6■rna6uinv</XMP>"; ?> $textの文字列の中にある & を ■ に変えたいです。 amp という文字列の前についている & は ■ に置換してはいけません。 &ampamp という文字列の前についている & も ■ に置換してはいけません。 現在の正規表現では r が消えてしまっています。 ブラウザで見た場合に結果が u&ampfayv&in&e6■rna6uinv になるようにして下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 正規表現のm{}

    正規表現の記述で、m{}と書くサンプルを目にしたのですが、このmと中括弧は何を意味するのでしょうか? 以下、Hタグにマッチするかをテストする正規表現のサンプルです。 $_ = "<H3>ヘッダ3</H3>"; if ( m{<(H\d)>(.+)</\1>} ) { print "found!!"; }

    • ベストアンサー
    • Perl
  • 「.」を含む任意の文字

    正規表現で 任意の文字は「.」で表現できますが、 これだとドットそのもの(.)が上手くマッチしませんでした。 任意の文字に「.」を含ませるにはどうすればよいのでしょうか?

  • ある法則に従った文字列を抜き出す方法

    以前、ある法則に従った文字列を抜き出す処理をゴリゴリ頑張って作ったのですが、 正規表現で1発で対象文字列を抜き出す事は出来ないのか?と思いました。 しかし、正規表現をそのパターンの時どう記述すると実現出来るのか分からず断念しました。 例えば 1.あいうえお((abc:えー|びー))かきくけこ 2.あいうえお((abc:えー))かきくけこ 3.あいうえお((abc:えー|びー|しー))かきくけこ 4.あいうえお((abc:えー|びー|しー))かきくけこ((abc:でぃー)) こんなのがあった時、パターンとして「((abc:」から「))」の間の文字列を 取得したいです。 1.の時は「えー|びー」、2.の時は「えー」、3.の時は「えー|びー|しー」、 4.の時は「えー|びー|しー」と「でぃー」を、その正規表現にマッチする文字列だとしたいのです。 「((abc:」、「))」の間の文字列長は可変です。 どなたか上記を実現する正規表現をご教示下さい。 正規表現でマッチさせるからには「((abc:」、「))」という文字列もマッチした文字列として 取得するでしょうが、それは後処理で削る事になるので何の問題もありません。

    • ベストアンサー
    • PHP
  • 正規表現 許可文字列 かつ 指定連続文字列の排除

    わかりにくいタイトルで恐縮です。 初歩的な問題かもしれませんが、もう何日も悩み続けており、ヒントでもいただけると助かります。 たとえば、 正規表現にて 英字のみ(1文字以上) という場合は preg_match("/[a-z]+/i",$string) という風にすればいいと思います。 ここで、英字のみ(1文字以上) しかし、abc という連続文字列があれば該当させない、という場合どういう正規表現を作ればいいのでしょうか? preg_match("/[a-z^(abc)]+/i",$string) みたいなヘンテコなものを作ってみたりしてみたのですが、文法違いなのか、やはり正常には動いてくれません。 ([^a][^b][^c]) なんていうのも違いますし。 狙いは、文字列の最初でも最後でも途中でも、指定文字以外や指定連続文字列がある場合は、エラーを出す、というようなものにしたいのです。 なにかヒントいただければと思います。

    • ベストアンサー
    • PHP
  • splitでの文字列分割

    文字列中の「,」で分割をしたいのですが 「\,」では分割したくありません このような場合、どのような正規表現をかけばいいのでしょうか? <?php $str = "asd,fgh,qwge\,zxc"; $ary_ary = split("[^\],",$str); print_r($ary_ary); ?> ------結果------ Array ( [0] => as [1] => fg [2] => qwge\,zxc ) いろいろ考えてみましたが 上のようにうまくいきませんでした ご教示おねがいします

    • ベストアンサー
    • PHP
  • 特定の文字を含む文字列の条件分岐について

    こんばんわ。 PHPでスクリプトを組んでいるのですが、とある文字列の最初から調べていって、 指定文字列その1のあとに指定文字列その2を含まず指定文字列その3がくるかどうか、 という条件を作りたいと思うのですが、どうにもうまくいきません・・・。 具体的には、 $strA="あいうえ(おかきく、けこさし)、すせそ" $strB="あいうえ(おかきく)、けこさし、すせそ" という文字列があったとしてAをtrueに、Bをfalseにしたいと思っています。 preg_match()で"/.*(\(|().*(?<!\))(、)/u"としてみたのですが、 結局両方マッチしてしまいます。 「(」が来たあとに「)」が入らずに「、」がくる組み合わせがあった場合のみtrueにすることはできますでしょうか? かなり自力で正規表現等も調べましたが、●と○の間に■を含まないという条件をどうしても作ることができなかったため、質問させて頂いた次第です。 どなたかお助けのほど、よろしくお願いします!!

    • ベストアンサー
    • PHP
  • Cの文字列操作

    VC6で正規表現を使って以下のXMLから-23の値を取得するつもりですが、 これを正規表現で書く場合、以下のようにすれば良いでしょうか? <?xmlversion="1.0"encoding="SHIFT_JIS"?> <TEST>-23</TEST> char ptn[] = "^<\?xmlversion="""1.0"""encoding="""SHIFT_JIS"""\?><TEST>(-?[0-9]+?)</TEST>$"; この前に、xmlを文字列置換(タブ・スペース・改行等を空文字に置換)させたいのですが、C言語ではどのようにすれば良いのでしょうか? phpでは、 str_replaceを使いますが・・・ ちなみに正規表現ライブラリは、これを使う予定です。 http://www.sip.eee.yamaguchi-u.ac.jp/kou/regex.html

  • 現在、改行コードを含めた任意の文字列を探す為に

    現在、改行コードを含めた任意の文字列を探す為に "[\s\S]*"という正規表現を使っています。 これで問題なく動作はするのですが ブラケット中の最初の文字がマッチした場合、もしそれ以降は評価しないとしたら 一般的な文章では"\s"よりも"\S"にマッチする文字の方が多いことを考えると "[\S\s]*"と修正する方が速度は上がるのかな。と思い、質問させていただきました。 正規表現でブラケットを使う場合 マッチする文字を見つけたら、以降の文字は評価されないのでしょうか。 環境はVisualStudio2008・C#上で行っています。 よろしくお願いします。

  • 正規表現 .+? と .++ と .+ の違いについて

    正規表現でタグを除こうと思っています。 最初は任意の一文字の連続として <.+>でうまくいくと思ったのですが、これだと すべて取り除かれてしまいます。 何らかの一文字(の連続)が連続するとして、 <.++>としましたがこれだと何もマッチしません。 いろいろ調べて、 <.+?>だとうまくいきます。 なぜ最後のだけうまくいくのかよくわかりません。 最初の<.+>でうまくいけばわかりやすいのですが。 なにかアドバイスがありましたらお願いします。