Próbuję non-chciwie parsować tagów TD. Zaczynam coś takiego:Regex Non-Greedy
<TD>stuff<TD align="right">More stuff<TD align="right>Other stuff<TD>things<TD>more things
Używam poniżej jako mojego regex:
Regex.Split(tempS, @"\<TD[.\s]*?\>");
Zapisy wrócić jak poniżej:
""
"stuff<TD align="right">More stuff<TD align="right>Other stuff"
"things"
"more things"
Dlaczego nie podział pierwszego pełnego wyniku (zaczynającego się od "stuff")? Jak mogę dostosować wyrażenie regularne do podziału na wszystkie wystąpienia tagu TD z parametrami lub bez?
proszę zobaczyć http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags –
'.' oznacza dosłownie kropkę w klasie znaków "[.]", a nie "dowolny znak". Możesz "mieć_ większy sukces z' [^>] * ", ale" złamie "na'> 'w atrybucie (co jest jednym z powodów, dla których często patrzymy na parsery zamiast wyrażeń regularnych do manipulowania html i xml). – Wrikken
@Wrikken HTML tutaj jest dość statyczny. Nie ma dużej różnorodności i znam regex, który by na to działał. Z tego powodu nie poszedłem na drogę parserów. Czy istnieje sposób na zrobienie. znak oznacza "dowolny znak", w tym biały znak? – steventnorris