1

我有这三个字符串:

xhtml.AddHtml( g_Lang.Text( Id,L_EXPORT_IS_NOT_SUPPORTED_FOR_THIS_ELEMENT ), false);
xhtml.AddHtml( g_Lang.Text(Id,  L_EXPORT_IS_NOT_SUPPORTED_FOR_THIS_ELEMENT ), false);
sGradeTitle = g_Lang.Text(CustomerID, nTitle, LanguageID);

我想编写接受第三行但不接受第一行和第二行的正则表达式:

.*g_Lang\.Text\(\s*[A-Za-z]*,\s*[here must be not L_].*

这是我试过的,你能帮我纠正一下吗?

4

1 回答 1

5

你在正确的轨道上,你只需要使用(?!.*L_)而不是(?!L_). .*那里将检测到L_前方的任何地方。

.*g_Lang\.Text\(\s*[A-Za-z]*,\s*(?!.*L_).*

您可能还希望将第一个贪婪.*转换为懒惰以稍微提高性能(通过减少回溯的次数):

.*?g_Lang\.Text\(\s*[A-Za-z]*,\s*(?!.*L_).*
于 2013-09-26T12:50:09.603 回答