長い話ですが、私はいくつかの偽のHTMLを取り、JavaScriptを使用して実際のHTMLに置き換える必要があります。例えば:私はおそらくすべての要素の上に配置することができるすべての属性を予測することはできませんとしてこれを行うには正規表現を使用していURLを除く特定のパターンのRegEx
<span class="text-bold" data="attribute">TITLE</span>
:
{span class:text-bold data:attribute}TITLE{/span}
はに変更する必要があります。データのすべてのインスタンスを見つけるために多かれ少なかれ動作している表現:属性:
/(\w+\:)(.[^\s\}]*)/g
ただし、問題があります。この表現は、例えば、URLが一致します。
http://www.google.ca
マッチングから任意のURLを除外しようとする試みで、私はそうのような表現を変更:
/(?!http)(\w+\:)(.[^\s\}]*)/g
しかし、これは期待した効果を持っていませんでした、このパターンは引き続き先頭の 'h'が付いていないURLとの一致を続けます。たとえば、
ttp://www.google.ca
私はかなり長い間RegExを使用していないことを認めますので、多分誤解していると思います。 RegExパターンを特定の文字セットで始まる一致とマッチさせないようにするにはどうすればよいですか?
完全なコードを追加します(置き換えます)。 – Dekel
あなたの正規表現がデータの周りの '{} 'と一致しないのはなぜですか?あなたの問題を解決できないでしょうか? – Aaron
'\ w +' => '\ b \ w +'の前に単語境界を追加します。また、 ':'と '}'をエスケープする必要はありません。 –