可以匹配这些条件的正则表达式

时间:2017-05-21 23:06:05

标签: c# regex

我似乎无法找出符合我需要的正则表达式。只要该行不包含DONT_TRANSLATE

,我需要它将该部分与"TNT"等括号匹配
  

AddItem(" TNT",false,true,true,false); // DONT_TRANSLATE<不应该匹配

     

AddItem(" Flower",false,true,true,false); <应该匹配

它并不总是替换函数中的文本,所以像

这样的东西
  

cout<< "要求翻译的文字";

     

itemInfo + =" Text&#34 ;;   需要也匹配正则表达式。

这就是我目前的情况,但它无法正常工作。

void TranslationReplace(string english, string chinese, ref string fullText)
{
    Regex translationRegex = new Regex('"' + Regex.Escape(english) + "\"(?!DONT_TRANSLATE)", RegexOptions.Multiline);
    fullText = translationRegex.Replace(fullText, "\"" + chinese + "\"");
}

1 个答案:

答案 0 :(得分:0)

由于您只需要引号之间的文本,因此这将查找它并将忽略包含// DONT_TRANSLATE后包含任何内容的任何行

".*"(?!.*\/\/DONT_TRANSLATE)

RegexDemo