Bonjour à tous voici mon problème .

J'ai un doc xml représentant en quelque sorte ma base de données.
Dans celle ci j'ai le balisage permettant à l'utilisateur de rentrer un pattern pour un regex .
le problème c'est que le format d'un pattern regex est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
\AC-\d{6}-S-\d{4}_\w+_\d+\z //C'est c'est mon exemple
Or les "\" ne sont pas accepté par le langages C# et lorsqu'on veut qu'il soit accepté en brut cela donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var pattern = @"\AC-\d{6}-S-\d{4}_\w+_\d+\z"
Or ( Le fond de mon problème) en récupérant le pattern via le XML si j'ajoute le "@" + le retour de ma fonction cela ne marche pas et je n'ai pas d'idée pour contrer cela



Voici la base :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version = "1.0" encoding="ISO8859-1" standalone="yes" ?>
 
<Root>
	<Origin>F:\SHARED</Origin>
	<Destination>F:\SHARED_PRIVATE</Destination>
	<Error>F:\SHARED</Error>
	<LogPath>F:\SHARED_PRIVATE</LogPath>
 
	<RegexPattern>\AC-\d{6}-S-\d{4}_\w+_\d+\z</RegexPattern> // Ici le pattern
 
 
	<PathArchiver>F:\ARCHIVER</PathArchiver>
  	<Machines>	
    		<Machine>
			<Name>FLUO</Name>
			  <FLUO>
				<AnalysisId>FXALU00_C</AnalysisId>
        			<Type_accepted>
	  				<NameType>.txt</NameType>
        			</Type_accepted>
			  </FLUO>
    		</Machine>
    		<Machine>
			<Name>ICP</Name>
			  <ICP>
				<AnalysisId>ICPXAL_00C</AnalysisId>
        			<Type_accepted>
	  				<NameType>.xlsx</NameType>
        			</Type_accepted>
			  </ICP>
    		</Machine>  
  	</Machines>
</Root>

Dans mon code c# voici ma structures :

-> Une méthode pour fouiller dans le XML
-> Une méthode qui restructure le résultat
-> Le main programme qui va appeler la 2nd méthode



Voici la 1ere :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
static IEnumerable<string> Regex()
             {
                var xmlDocument = new XmlDocument();
 
                xmlDocument.Load("./Base.xml");
 
                var xmlNodeName = xmlDocument.SelectNodes("/Root");
 
                return (from XmlNode xmlNode2 in xmlNodeName select xmlNode2["RegexPattern"]?.InnerText).ToList();
             }
La 2nd
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
static string RegexPattern()
            {
                var patternRegex = "";
 
                foreach (var pattern in Regex())
                {
                    patternRegex = pattern;
                }
 
                Console.WriteLine(patternRegex);
 
                return patternRegex;
            }
et le main prgm :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
var rgx = new Regex("@"+RegexPattern()); // Ne fonctionne pas
 
             if (rgx.Match(test).Success)
             {
                 Console.WriteLine("SUCCESS PATTERN FOR  " + rgx.Match(test).Value);
             }
             else
             {
                 Console.WriteLine("ERROR PATTERN");
             }


Merci d'avance