mayona

regex_replaceの置換について

0

あるclassのついているtdをタグとその中身ごと消したく、以下のように記述しました。

<MTSetVarBlock name="regexA">/<td class="hoge">.*?</td>/g</MTSetVarBlock>
<MTSetVarBlock name="regexB"></MTSetVarBlock>

<MTEntryBody regex_replace="$regexA","$regexB">

ただのテキストの場合はうまくいきますが、タグが入って、改行コードが入るとうまくいきません。
ちょっとした事だと思うんですが、アドバイスいただけると幸いです。

返信(4)

| 返信する
  • タグの問題というより、クォーテーション「"」の問題ではないでしょうか。
    <MTEntryBody regex_replace="$regexA","$regexB">

    <MTEntryBody regex_replace='$regexA','$regexB'>
    とシングルクォーテーションに変えたら、動作しませんか?
    確認してみてください。

  • ご助言ありがとうございます!
    以前クォーテーションが怪しいのかなと洗った事がありますが、
    変数を読み込む記述であれば特に影響がなかったので、以降は変数化しています。
    一応、シングルに変えて挙動を見ましたが特に変化はありませんでした。
    正規表現の誤記でしょうか。

  • /g のところを /sg にしたらどうでしょうか?
    sオプションを付けると「.」が改行にもマッチするようになると思います。

  • tinybeansさま

    ありがとうございます!
    おかげさまでうまくいきました。
    助かりました。

返信する