On Jun 20, 2009, at 12:51, James Kyle wrote:
It looks like the livecheck.regex rules are not the same as the tcl
regex rules.
They should be the same, remembering to take into account the extra
level of escaping you need if you use double-quote characters instead
of curly braces.
I could be sorely mistaken since I have very limited exposure to tcl.
However, this is what I'm seeing:
in the tclsh, the following pattern matches correctly:
% set text "newmat10.tar.gz or newmat10.zip - newmat10D source files"
newmat10.tar.gz or newmat10.zip - newmat10D source files
% set worldlist [regexp -inline -all -- {newmat(10)\.tar\.gz or
newmat10\.zip - newmat10D source files} $text]
{newmat10.tar.gz or newmat10.zip - newmat10D source files} 10
% exit
The $text is a cut and paste from the site I'm trying to match.
The same pattern fails when using livecheck.regex
livecheck.regex {newmat(10)\.tar\.gz or newmat10\.zip -
newmat10D source files}
port livecheck newmat => Error: cannot check if newmat was updated
(regex didn't match)
Ignoring for the moment that that the regex is far too specific,
what are the differences between tcl regex and livecheck.regex that
cause one to match and the other to fail?
For context, I ran into this when trying to do a lookahead match
that excluded strings with the word "beta" in them. . . something
like this:
{newmat([0-9.]+).tar.gz.*(?!.*beta)}
I don't know if the "(?...)" syntax works in Tcl.
_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev