< と > を Komodo Edit のエンティティに相当するものに置き換える単一の正規表現を作成することは可能ですか?
s/<|>/<|>/
< と > を Komodo Edit のエンティティに相当するものに置き換える単一の正規表現を作成することは可能ですか?
s/<|>/<|>/
&
などに変換する必要があるかもしれないと思います&
。
この場合、使用している言語/プラットフォームにライブラリまたは関数が存在する可能性が最も高くなります (たとえば、Java ではStringEscapeUtilsをチェックしてください)。あなたが使用している言語を指定してください。
正規表現を使用せずに、ほぼすべての言語でこれを行うのは簡単です。
PHP:
$xml = str_replace(array('>', '<'), array('>','<'), $xml);
Python:
xml = xml.replace('>', '>').replace('<','<');
等
次のようなハッシュ変数を使用できます。
my %data;
$data{"<"} = '<';
$data{">"} = '>';
s/(<|>)/$data{$1}/g;
Komodo Edit 5.xでは、 moreKomodo拡張機能を使用して、次の検索/置換正規表現検索を保存します。
探す:
<([^>]*)>([^<]*)<([^>]*)>
交換:
<\1>\2<\3>
みんな、ありがとう。Komodo Editで使用できるものを探していたので、変数と条件ステートメントはオプションではありませんでした。これは、 IBM Developerworksの Sed チュートリアルに基づいた、私が見つけた最良のソリューションです。
s/<([^>]*)>([^<]*)<([^>]*)>/<\1>\2<\3>/
使用している言語によって異なります。Perl では、次のことができます。
s/([<>])/$1 eq '<' ? '<' : '>'/ge
他の言語では通常、置換文字列を返す一致コールバック関数を提供できます。ウィット:C#では、これを行うことができます:
Regex.Replace("<", "([<>])", x => x.Value == "<" ? "<" : ">")