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 回答