0

正規表現でhtmlコードをエスケープするにはどうすればよいですか?

文字列を見つける必要があります

&

のような文字列で

this is my string & this is another string

タグを操作する必要があるため、この目的で HtmlEncode/Decode を使用することはできません。私が欲しいのは、共通の文字列を見つけることだけです。

私はこれを使用し、たとえば「別の」または「私の」で動作しますが、では動作しません"&"

            Regex regularextest = new Regex("\b&\b", options);
            string RSTest = "char $& morechar";
            string lalala = regularextest.Replace("foo & bar", RSTest);

Google が文字列を & または "AND" 単語に置き換えるため、非常にイライラします。

前もって感謝します

4

2 に答える 2

2

とは単語の文字ではないため、これ\b&\bは一致しません。&;

これを試すことができます:

Regex regularextest = new Regex("(?<=^|\s+)&amp;(?=\s+|$)", options);
于 2011-11-23T18:55:51.910 に答える
0

有効なエンティティ (非 Unicode) を識別/変換する必要がある場合は、この正規表現を使用
(?:&(?:[A-Za-z_:][\w:.-]*|\#(?:[0-9]+|x[0-9a-fA-F]+));)
して置換可能な値を識別し、それをコールバック関数に渡して、置換するエンティティをさらに処理することができます。このようにして、単一の正規表現グローバル置換 (コールバック ロジックを使用) ですべてを実行できます。

于 2011-11-23T19:21:36.760 に答える