Problem z wyrażeniem regularnym.

Problem z wyrażeniem regularnym.
carck3r
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 68
0

[C# i Regex]
Mam dwa możliwe teksty:
<span>1 Puszka Piwa. <font id="dupa">
lub

Kopiuj
<span>234 x Puszek Piwa.  <font id="dupa">

Napisałem wyrażenie:
<span>([0-9]+)( x)* (Puszka|Puszek) Piwa. <font id=\"dupa\">
Nie działa. Jakie powinno być poprawne wyrażenie?

RE
  • Rejestracja: dni
  • Ostatnio: dni
0

Samo wyrażenie jest dobre (zamieniłbym tylko * na ? i dodał ?: do grup, których nie potrzebujesz przechwytywać), pokaż kod.

@Patryk27, nie da się sparsować HTML za pomocą samych wyrażeń regularnych. Widzisz, żeby parsował HTML? Bo ja nie. Parsowanie HTML to poznanie m.in. struktury drzewiastej, hierarchii elementów i tak dalej. A on robi to do czego wyrażenia regularne powstały - wyszukuje w ciągu tekstowym pewien inny ciąg i tyle.

carck3r
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 68
0
Rev napisał(a):

Samo wyrażenie jest dobre (zamieniłbym tylko * na ? i dodał ?: do grup, których nie potrzebujesz przechwytywać), pokaż kod.

@Patryk27, nie da się sparsować HTML za pomocą samych wyrażeń regularnych. Widzisz, żeby parsował HTML? Bo ja nie. Parsowanie HTML to poznanie m.in. struktury drzewiastej, hierarchii elementów i tak dalej. A on robi to do czego wyrażenia regularne powstały - wyszukuje w ciągu tekstowym pewien inny ciąg i tyle.

Samo wyrażenie jest dobre (zamieniłbym tylko * na ? i dodał ?: do grup, których nie potrzebujesz przechwytywać), pokaż kod.

Jak użyć "?:", bo się z tym nie spotkałem w wyr. reg.

Fragment kodu:

Kopiuj
...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.