2011-04-28 3 views
1

Im avoir un peu de difficulté à faire une regex qui va filtrer une entrée pour moi.Une simple expression regex

si je reçois beaucoup de: <option value=1234>text</option><option value=5678>text2</option> (notez que le nombre est toujours 4 chiffres) et je veux que le regex pour filtrer le texte pour moi, donc je vais avoir une liste de « texte \ ntext2 » etc , quelle expression regex dois-je utiliser? Im genre de nouveau à regex et je ne peux pas comprendre par moi-même ..

merci d'avance!

+0

serait '> (. *) <' Le faire? – JohnP

+0

* (obligatoire) * [Meilleures méthodes pour analyser HTML] (http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon

+0

Vous voulez que le texte \ ntext2 ou texttext2 soit produit ?? –

Répondre

2

Quelque chose comme ceci:

<option value=\d+>([\w\s\\]+)</option> 
+0

qui fonctionne presque (il ne trouve pas de 'texte' qui a un '/' dans lui.). il trouve des occurrences, mais qu'écris-je dans le champ "replace with"? – T4u

+0

ou ([\ w \ s] +) – Bytemain

+0

Comment puis-je inclure le caractère '/'? – T4u

1

Je suppose que vous voulez rechercher dans les remplacer notepad ++.

Rechercher

<option value=\d+>(.*?)</option> 

et le remplacer par

\1\n 
+0

Grande regex, je ne l'ai pas essayé parce que j'ai déjà réussi à faire ce que je voulais, mais il pourrait faire , à: texte. Je voudrais essayer (je n'ai pas essayé et im nouveau à regex) pour aller avec: alors il va chercher 'texte' jusqu'à ce qu'il saute dans un '<' – T4u

+0

Alors à la place de '' utilise ''. – stema