Re: [PHP-DB] MySQL REGEXP functionality... any way to make this easier?

2002-10-14 Thread Ignatius Reilly

If you want to generalize the process to a n-set, a recursion method is
clearly required.

XSLT looks the best candidate to me to do this. I will tackle it when I find
some time.

Cheers
Ignatius

- Original Message -
From: Xepherys [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, October 10, 2002 8:26 AM
Subject: [PHP-DB] MySQL REGEXP functionality... any way to make this easier?


 Right now, a sample query I might have would be...

 SELECT * FROM ospd WHERE word REGEXP '^([a]?[p]?[e]?)$|^[p]?[a]?[e]?$|^[a
 ]?[e]?[p]?$|^[p]?[e]?[a]?$|^[e]?[p]?[a]?$|^[e]?[a]?[p]?$';


 where basically I need to query every combination of a, p and e.  This is
a
 pain, but for only three letter is not so bad.  As you can see, this could
 become unruly with larger numbers of letters.  Each instance of a letter
can
 only occur once.  However, a letter may be duplicated and used once for
each
 instance.  Hence the statement steps through... it could also be something
 like...

 SELECT * FROM ospd WHERE word REGEXP
 '^[a]?[a]?[e]?$|^[a]?[e]?[a]?$||^[e]?[a]?[a]?$';

 more easily written because one letter is used twice and can occure once
for
 each instance.  Please let me know if you have any ideas.


 Jesse
 [EMAIL PROTECTED]


 --
 PHP Database Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DB] MySQL REGEXP functionality... any way to make this easier?

2002-10-10 Thread Martin Adler

Hi,

unfortunately i can't help you much, but listen
you can make your pattern more readable if you
delete [] there's no need for classes in your pattern

SELECT * FROM ospd WHERE word REGEXP
'^a?p?e?$|^a?e?p?$|^p?e?a?$|^p?a?e?$|^e?a?p?$|^e?p?a?$';

? = one or none but if you need each letter then omit ?

SELECT * FROM ospd WHERE word REGEXP '^ape$|^aep$|^pea$|^pae$|^eap$|^epa$';

this is the simplest way but it also matches aae, aaa, ppe, ppp ... and
probably not what you need

SELECT * FROM ospd WHERE word REGEXP '^[aep]{3}$';

I thnk you don't have another choice then to write each combination by
yourself

greet
martin

- Original Message -
From: Xepherys [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, October 10, 2002 8:26 AM
Subject: [PHP-DB] MySQL REGEXP functionality... any way to make this easier?


 Right now, a sample query I might have would be...

 SELECT * FROM ospd WHERE word REGEXP '^([a]?[p]?[e]?)$|^[p]?[a]?[e]?$|^[a
 ]?[e]?[p]?$|^[p]?[e]?[a]?$|^[e]?[p]?[a]?$|^[e]?[a]?[p]?$';


 where basically I need to query every combination of a, p and e.  This is
a
 pain, but for only three letter is not so bad.  As you can see, this could
 become unruly with larger numbers of letters.  Each instance of a letter
can
 only occur once.  However, a letter may be duplicated and used once for
each
 instance.  Hence the statement steps through... it could also be something
 like...

 SELECT * FROM ospd WHERE word REGEXP
 '^[a]?[a]?[e]?$|^[a]?[e]?[a]?$||^[e]?[a]?[a]?$';

 more easily written because one letter is used twice and can occure once
for
 each instance.  Please let me know if you have any ideas.


 Jesse
 [EMAIL PROTECTED]


 --
 PHP Database Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php





-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DB] MySQL REGEXP functionality... any way to make this easier?

2002-10-09 Thread Xepherys

Right now, a sample query I might have would be...

SELECT * FROM ospd WHERE word REGEXP '^([a]?[p]?[e]?)$|^[p]?[a]?[e]?$|^[a
]?[e]?[p]?$|^[p]?[e]?[a]?$|^[e]?[p]?[a]?$|^[e]?[a]?[p]?$';


where basically I need to query every combination of a, p and e.  This is a
pain, but for only three letter is not so bad.  As you can see, this could
become unruly with larger numbers of letters.  Each instance of a letter can
only occur once.  However, a letter may be duplicated and used once for each
instance.  Hence the statement steps through... it could also be something
like...

SELECT * FROM ospd WHERE word REGEXP
'^[a]?[a]?[e]?$|^[a]?[e]?[a]?$||^[e]?[a]?[a]?$';

more easily written because one letter is used twice and can occure once for
each instance.  Please let me know if you have any ideas.


Jesse
[EMAIL PROTECTED]


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php