Toon posts:

[TCL] tcl en regexp probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Moggûh, ik zit met een klein regexps probleempje. Ik probeer gegevens uit een xml file in te lezen voor een irc botje alleen het wil nog niet helemaal lukken.

Een voorbeeldje uit het xml bestand
code:
1
2
<link>http://www.test.nl/details.php?id=286</link>
<category domain="http://www.test.nl/view.php?sub=4">Album</category>


tcl script
code:
1
regexp "<title>(.*)</title>" $line trash postsdata(titel,$count)


Op deze manier is dus het link element op te halen. Alleen het category element zal natuurlijk zo nooit werken omdat er nog het een en ander tussen de tag staat. Ik heb een paar manieren geprobeerd om ook de informatie te krijgen wat tussen het category element zit maar nog niet gelukt.

code:
1
regexp "<category domain=(.*)>(.*)</category>" $line trash postsdata(cat,$count)


Op bovenstaande manier krijg ik wat er tussen de tag staat dus de informatie bij domain. Heeft iemand misschien een idee hoe ik wel de juiste informatie kan krijgen?

Verwijderd

Topicstarter
*schop*

Niemand die dit weet?

  • frv
  • Registratie: November 2002
  • Laatst online: 22-07-2024

frv

Moet het met regexp ?

Waarom niet even proberen met string functies om er gewoon dat deel uit te halen die je wil ?

  • [Jules]
  • Registratie: Maart 2000
  • Laatst online: 14:51

[Jules]

Confusion in confusion

Of waarom niet met regsub? ook vrij eenvoudig:

code:
1
2
3
4
5
6
% set t {<link>http://www.test.nl/details.php?id=286</link>}
<link>http://www.test.nl/details.php?id=286</link>
% regsub -all {\</?link\>} $t {} o
2
% puts $o
http://www.test.nl/details.php?id=286


Of inderdaad met string functies:

code:
1
2
3
4
5
6
% set u {<category domain="http://www.test.nl/view.php?sub=4">Album</category>}
<category domain="http://www.test.nl/view.php?sub=4">Album</category>
% puts [lindex [split $u \"] 1]
http://www.test.nl/view.php?sub=4
% puts [lindex [split $u \<\>] 2]
Album


Is ook te doen zo...

[ Voor 14% gewijzigd door [Jules] op 29-08-2005 19:57 ]

Knowing others is to be clever.
Knowing yourself is to be enlightened.
Overcoming others requires force.
Overcoming yourself requires strength.


Verwijderd

Topicstarter
bedankt voor de reacties ik ga het zo weer eens proberen :>