[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[809] セル内にワイルドカードで条件に一致する部分が複数ある場合

オカモト [2024/01/30 14:41:08]

お世話になっております。

セルにHTMLのコードを記載しております。
その中で<a>タグで挟まれた部分を全て削除したいです。

<a.*</a>で検索して置換した場合、セル内の最初の<aから最後の</a>までがまるっと削除されてしまいます。

何か方法はありますでしょうか?

Re: [809] セル内にワイルドカードで条件に一致する部分が複数ある場合

オカモト [2024/01/30 19:23:33]

度々恐れ入ります。

「.*」の代わりに「[^\n]*」等を使うことで自分なりに解決しました。

しかしながら、それらを含むマクロを動かしたところ
「外部例外 e36c6701」
というエラーが出て最後まで走りません。

何が原因でしょうか?

Re: [809] セル内にワイルドカードで条件に一致する部分が複数ある場合

オカモト [2024/01/30 19:57:31]

すみません、自己解決いたしました。
スレッド削除してもらって結構です。

Re: [809] セル内にワイルドカードで条件に一致する部分が複数ある場合

あすかぜ [2024/01/30 23:10:04]

すでに解決しているようですが、正規表現内では「?」記号を使って「<a.*?</a>」のように記述することで、できるだけ短い範囲で条件に一致させることができます。

「外部例外 e36c6701」というエラーが発生するのは Cassava Editor のバグのようですので、もし具体的な再現手順などがわかれば教えていただけると助かります。
よろしくお願いします。

Re: [809] セル内にワイルドカードで条件に一致する部分が複数ある場合

オカモト [2024/01/31 18:05:39]

お返事ありがとうございます。

.*?で短い範囲で一致させることができるんですね。
知りませんでした。
お教えいただきありがとうございます。

エラーの再現手順なのですが、全くわかりません。
マクロを実行した時に発生したのですが、ほぼ同じ内容で別のマクロファイルを作り直したらエラーが発生しませんでした。
記述の誤りがあるかよく見ましたが見つけることができませんでした。
お役に立てず申し訳ございません。

よろしくお願いいたします。

Re: [809] セル内にワイルドカードで条件に一致する部分が複数ある場合

あすかぜ [2024/01/31 22:06:52]

エラーの件了解です。
返信ありがとうございます。

スレッド一覧に戻る返信