2013-10-16 3 views
-1

Quelqu'un peut-il m'aider à écrire une expression régulière correcte pour trouver la chaîne suivante.recherche dans le document par Regex

Know_str1 Unknown_str Known_str2 

et le remplacer par

/*Know_str1*/ Unknown_str Known_str2 

Sans aucun changement sur Unknown_str et Known_str2

+0

Know_str1 est répété plusieurs fois. je cherche juste Know_str1 qui est fondé avec Know_str2 dans la même ligne –

Répondre

0

J'ai fait quelques hypothèses sur ce qu'est la chaîne inconnue mais essayez:

Find:{Know_str1} {:i} {Known_str2} 
Replace with:/*\1*/ \2 \3 

Si vous vous souciez des espaces autour de la chaîne inconnue:

Find:{Know_str1}{{:Wh}+{:i}{:Wh}+{Known_str2}} 
Replace with:/*\1*/\2 
+0

merci monsieur Blt, votre Regex est très puissant et. c'est ce que je recherche. –

0

Je pense que ce qui suit est ce que vous voulez ...

var s = "Know_str1 Unknown_str Known_str2"; 
var regex = new Regex(@"\b(Know_str1)(.*Known_str2)"); 
var m = regex.Replace(s, "/* $1 */ $2");