1

< と > を Komodo Edit のエンティティに相当するものに置き換える単一の正規表現を作成することは可能ですか?

s/<|>/&lt;|&gt;/
4

6 に答える 6

2

&などに変換する必要があるかもしれないと思います&amp;

この場合、使用している言語/プラットフォームにライブラリまたは関数が存在する可能性が最も高くなります (たとえば、Java ではStringEscapeUtilsをチェックしてください)。あなたが使用している言語を指定してください。

于 2009-09-29T23:24:59.467 に答える
1

正規表現を使用せずに、ほぼすべての言語でこれを行うのは簡単です。

PHP:

$xml = str_replace(array('>', '<'), array('&gt;','&lt;'), $xml);

Python:

xml = xml.replace('>', '&gt;').replace('<','&lt;');

于 2009-09-29T23:39:26.597 に答える
0

次のようなハッシュ変数を使用できます。

my %data;
$data{"<"} = '&lt;';
$data{">"} = '&gt;';
s/(<|>)/$data{$1}/g;
于 2009-09-29T23:31:31.217 に答える
0

Komodo Edit 5.xでは、 moreKomodo拡張機能を使用して、次の検索/置換正規表現検索を保存します。

探す:

<([^>]*)>([^<]*)<([^>]*)>

交換:

&lt;\1&gt;\2&lt;\3&gt;
于 2013-07-12T19:32:30.807 に答える
0

みんな、ありがとう。Komodo Editで使用できるものを探していたので、変数と条件ステートメントはオプションではありませんでした。これは、 IBM Developerworksの Sed チュートリアルに基づいた、私が見つけた最良のソリューションです。

s/<([^>]*)>([^<]*)<([^>]*)>/&lt;\1&gt;\2&lt;\3&gt;/
于 2009-10-13T22:34:57.473 に答える
0

使用している言語によって異なります。Perl では、次のことができます。

s/([<>])/$1 eq '<' ? '&lt;' : '&gt;'/ge

他の言語では通常、置換文字列を返す一致コールバック関数を提供できます。ウィット:C#では、これを行うことができます:

Regex.Replace("<", "([<>])", x => x.Value == "<" ? "&lt;" : "&gt;")
于 2009-09-29T23:22:03.403 に答える