Besoin d'aide, j'ai une expression régulière qui semble fonctionner très bien lorsque je mets le motif et la chaîne à analyser dans le testeur de regexlib. Cependant, quand je l'ai mis en C#, la même chose n'arrive pas, aucune correspondance.Expression régulière fonctionne à regexlib mais pas dans le code C#
Voici mon modèle de correspondance, ont essayé les deux:
string regPattern = "\\{\\$([^\\$\\}]+)\\$\\}";
Ma chaîne à analyser provient d'une base de données et est mis dans une variable après l'utilisation ToString(). Voici un exemple de la chaîne (en utilisant Text Visualizer dans VS2008) qui fonctionne à regextlib mais pas en C#.
<p>1.Age?: -- Select One --<br />
2.HowFindProduct?: Friend/Relative Recommendation<br />
3.Influencers?: {$InfluencedDecision$}<br />
4.WherePurchase?: Office Superstore - i.e. Staples_ Office Depot_ Of<br />
5.ReplacementProduct?: This is a replacement to my previous product<br />
6.OtherBrands?: {$OtherBrands$}<br />
7.Income?: -- Select One --<br />
FirstName: John<br />
Initial: H<br />
LastName: Smith<br />
Address1: 123 any street<br />
Address2: suite 2<br />
City: any city<br />
State: CA<br />
ZipCode: 55555<br />
Country: usa<br />
EmailAddress: [email protected]<br />
Phone#: 714-555-1212<br />
ModelNumber: AXXXX<br />
SerialNumber: 23123d234s2s<br />
DateofPurchase: 09/09/2009<br />
NotifyMe1: on<br />
NotifyMe2: on</p>
Et tout simple, si elle aide, voici le code que je utilise:
string regPattern = "\\{\\$([^\\$\\}]+)\\$\\}";
Regex.Replace(bodytext.ToString(), regPattern, "",RegexOptions.Multiline);
J'ai aussi essayé modèle en utilisant la déclaration @ et Regex.Escape. Besoin d'aide ici.
Des idées?
Je suis désolé, tapés pour l'exemple (VS ont beaucoup plus de choses). Je vais essayer votre expression. Merci pour votre aide! –
Saint Tolède Batman! Rien de tel que manquer l'évidence dans mon code original. J'étais trop concentré dans le motif comme un problème que j'ai manqué la logique d'affectation qui a couru plus tard dans un bloc si le bloc n'avait pas le chemin d'exécution. Vous m'avez probablement sauvé beaucoup de temps avant que je l'aurais remarqué. –