From: "Peter Birch"
>Recently, as part of a discussion of illegal newsgroup names, I wanted
>to do a search thru a plain text version of the 22,000 newsgroups on
>this server, trying to find groups with names over the 14-character unit
>Recently, as part of a discussion of illegal newsgroup names, I wanted
>to do a search thru a plain text version of the 22,000 newsgroups on
>this server, trying to find groups with names over the 14-character unit
>limit, such as "alt.conspiracy.new-world-order" where "new-world-order"
>limit, such as "alt.conspiracy.new-world-orders" where "new-world-order"
>limit, such as "alt.conspiracy.new-world-orderss" where "new-world-order"
>limit, such as "alt.conspiracy.new-world-orde" where "new-world-order"
>limit, such as "alt.conspiracy.new-world-ord" where "new-world-order"
>limit, such as "alt.conspiracy.new-world-or" where "new-world-order"
>limit, such as "alt.conspiracy.new-world-o" where "new-world-order"
>limit, such as "alt.conspiracy.new-world-" where "new-world-order"
>limit, such as "alt.conspiracy.new-world" where "new-world-order"
>has 15 characters after the last dot.
>
>I could do a search for \.[0-9a-z_+-]#.* , that is,
>
>a dot followed by *1* or more occurrences of 0-9, a-z, _ or + or -,
>optionally followed by a '.' if the string wasn't the last part of the
>name. I couldn't find a way to limit it to *15* or more occurrences of
>the first range. Is there one? -- Jorj.Strumolo@chowda.com * Fido
>1:323/140 * jorj@wsii.com
>
This is as close as I can come:
\.[+-z]#\.......[+-z][+-z][+-z][+-z][+-z][+-z][+-z][+-z][+-z]
This works as long as there is not a space within six characters after
the second period followed by 9 non-white characters.
This could be done with a macro however, Find() leaves the found text
marked, you could then do a search for a space within the marked block
and if you find one then this is not an invalid name.
proc main ()
pushblock()
if (find("\.[+-z]#\.......[+-z][+-z][+-z][+-z][+-z][+-z][+-z][+-z][+-z]",
"GIX"))
repeat
if (not lfind(" ", "l"))
warn("Name too long!")
endif
until (not repeatfind(_FORWARD_))
endif
popblock()
end
---
---------------
* Origin: apana>>>>>fidonet [sawasdi.apana.org.au] (3:800/846.13)
|