Ho fatto questo modello per abbinare div annidati:Come posso abbinare il primo subpattern in C#?
(<div[^>]*>(?:\g<1>|.)*?<\/div>)
Questo funziona bene, come si può vedere in regex101.
Tuttavia, quando scrivo il codice qui sotto in C#:
Regex findDivs = new Regex("(<div[^>]*>(?:\\g<1>|.)*?<\\/div>)", RegexOptions.Singleline);
Mi genera un errore:
Additional information:
parsing "(<div[^>]*>(?:\g<1>|.)*?<\/div>)" -
Unrecognized escape sequence \g.
Come si può vedere \g
non funziona in C#. Come posso abbinare il primo subpattern allora?
mi piace la risposta in alto su questa questione quando guardando il tentativo di abbinare HTML usando espressioni regolari http://stackoverflow.com/questions/1732348/regex-match-open -tags-except-xhtml-self-contained-tags In breve 'Do not Parse HTML With Regex' –
Prima di tutto dovresti davvero usare un tester di espressioni regolari che usi in modo specifico C# per garantire la compatibilità. In secondo luogo controlla questa domanda http://stackoverflow.com/questions/19596502/regex-nested-parentheses – juharr