fork download
  1. using System;
  2. using System.Text.RegularExpressions;
  3. public class Test
  4. {
  5. public static void Main()
  6. {
  7. var s = @"<job xmlns:i=""..."" xmlns=""..."">
  8. <password>asdfasdf</password>
  9. <adminPassword>asd</adminPassword>
  10. <AccountKey>asd</AccountKey>
  11. <AccountKeyZ>asd</AccountKeyZ>
  12. ...</job>";
  13. var keyList = new[] { "AccountKey", "PrivateKey", "APIKey", "DefectiveKeyGracefulExpiration" };
  14. var multiplePatternMatching = string.Format("({0})", string.Join("|", keyList));
  15. var rx = string.Format(@"(?si)<([^\s<]*password[^\s<]*|{0})>.*?</\1>", multiplePatternMatching);
  16. Console.WriteLine(Regex.Replace(s, rx, "<$1></$1>"));
  17.  
  18. }
  19. }
Success #stdin #stdout 0.12s 24672KB
stdin
Standard input is empty
stdout
<job xmlns:i="..." xmlns="...">
<password></password>
<adminPassword></adminPassword>
<AccountKey></AccountKey>
<AccountKeyZ>asd</AccountKeyZ>
...</job>