Prolog and Regexp
From: Djamé Seddah (djame_at_jamais-de-la-vie.com)
Date: 10/20/04
- Next message: Armin Wolf: "CFP: W(C)LP 2005 - 2nd Call for Papers"
- Previous message: Jan Wielemaker: "Re: SWI-prolog, XPCE help"
- Next in thread: Gertjan van Noord: "Re: Prolog and Regexp"
- Maybe reply: Gertjan van Noord: "Re: Prolog and Regexp"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 20 Oct 2004 15:34:50 +0200
Hello,
I've found a paper which deals with treatments of regular expression in
prolog here
(http://www.cs.sfu.ca/people/Faculty/cameron/Teaching/384/99-3/regexp-plg.html
and whereas the provided exemple works for short amout of data
it didn't for large chunk of text...
In fact, i'm feaching webpage and I put them into a string, I just have
to fetch some pattern, no need to write a true parser with the ppp...
Of course before I've tried with unification pattern (transforming
string to atom and using atom_concat), I tried with substring search and
the result was "bof", so I digged to find this package
and I'm not happy whith the result....
look at this exemple
%%%%%% copy the entire predicate until its end
test_def(chien,'<TITLE> Dictionnaire
Français-Anglais</TITLE>\n<META HTTP-EQUIV="Expires"
CONTENT="\nTue Oct 19 14:30:04 WET DST 2004\n">\n<BODY BGCOLOR=#8FAAAA
BACKGROUND = "/textures/paper.gif">\n<HTML>\nBienvenue à <b>
</b><DT>\nutilisant <b>SWI-Prolog (http://www.swi-prolog.org)
</b><DT>\n<H3>\n19 Octobre 2004\n14:30:13\n<br>\nRésultat de la
recherche pour le mot : \nchien\n<DT> </H3> \n<table border=0><tr><th
align=left bgcolor=white>\n<b><pre>\n<font color=green>\nchien = dog
(nom masculin)\n<hr></font><font color=red>\nchien = dog (n/a)\nchien =
dog (nom masculin)\nchien = dog (n/a)\nchien = dog (n/a)\nchien = dot
(n/a)\nmaison de chien = doghouse (n/a)\nchien = cat (n/a)\nchien = dog
(nom masculin)\nchien = dog (nom masculin)\nchien = dog (n/a)\nchien =
dog (n/a)\nchien = dog (nom masculin)\nchien = god (nom masculin)\nchien
= dog (nom masculin)\nchien = chien (nom féminin)\nchien = chien
(verbe)\ngod = chien (verbe)\nchien = dog (n/a)\nCHIEN = DOG
(n/a)\nCHIEN = HOON (nom masculin)\nchien = cat (n/a)\nchien = crote
(n/a)\nchien = dog (nom masculin)\nchien = dog (n/a)\nchien = dog
(n/a)\nchien = dog (n/a)\nchien = chien (nom masculin)\nchien = chien
(nom masculin)\nchien = cat (nom masculin)\nchien = dog (nom
masculin)\nchien = dog (nom masculin)\nchien = dog (n/a)\nchien = drop
(n/a)\npanier à chien = basket (n/a)\nchien = dog (nom masculin)\nun
chien = a cabot-cat (préposition, autre)\nchien = crawler (n/a)\nun
chien = the dog (n/a)\nchien = dog (nom masculin)\nthug life = vie de
chien (n/a)\nCHIEN = DOG (n/a)\nchien = dog (n/a)\nchien = dog
(n/a)\nchien = dog (n/a)\nchien = yes (n/a)\nchien = dog (nom
masculin)\nchien = dog (nom masculin)\nchien = dog (nom masculin)\nchien
= dog (nom masculin)\nchien = dog (nom masculin)\nchien = dog
(n/a)\nchien = dog (nom masculin)\nchien = dog (n/a)\nChien = Dog (nom
masculin)\nchien = dog (nom masculin)\nCHIEN = palps (n/a)\nchien = dog
(n/a)\nle chien = dog (n/a)\nCHIEN = DOG (n/a)\n<hr> <br>* TEXTE EN
ROUGE * = </font> trouvé dans les propositions récentes (found in recent
submissions) <font color=red>CAN BE
WRONG!</font>\n</pre></b></font></table> <HR>\n<IMG
SRC="/cgi-bin/count2_a?traduc">\n<HR>\nSi cette recherche n`a pas
abouti, ou si le résultat ne vous convient pas.\n<H3>Maintenant
sur ce serveur : <A HREF="/traduc.html">\n Proposez votre traduction!
</A></H3>\n<HR><center>\n[Recherche| <a
href="#Links">Liens|</a>\nProposition|\n<a
href="/Dico/GB.html">Guest Book|</a>\n<a
href=/cgi-bin/quizz>Quizz</a>\n]<br> </center>\n</HTML>\n').
%%%% end of predicate
so it associates a huge string to 'chien'
then copy and cut the programms provided by the link below
http://www.cs.sfu.ca/people/Faculty/cameron/Teaching/384/99-3/regexp-plg.html
and then do
test_def(chien,Atom),tokenize(".+chien=(.+).+",L,R).
In theory, we should have all the token in the list L but in fact no.
I can't figure out why and I don't want to call some perl script
embedded into the system predicate.
Hope someone could help
Djamé
- Next message: Armin Wolf: "CFP: W(C)LP 2005 - 2nd Call for Papers"
- Previous message: Jan Wielemaker: "Re: SWI-prolog, XPCE help"
- Next in thread: Gertjan van Noord: "Re: Prolog and Regexp"
- Maybe reply: Gertjan van Noord: "Re: Prolog and Regexp"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|