I can write a regular expression to match ANY number of digits between 6 and 25 ...
^[[:digit:]]{6,25}$
but how would I write a regular expression to match either 6 digits or 25 digits, but no number in between?
^([[:digit:]]{6}|[[:digit:]]{25})$
(The regular expressions in this example are Tcl and PHP/ereg types. use \d instead of [[:digit:]] for PHP/preg and Perl.)
You may wonder why I want this. A client with 6 digit or 25 digit part numbers, a year number that can be 2 or 4 digits ... (written 2008-04-16)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
T247 - Tcl/Tk - Advanced Regular Expressions [943] Matching within multiline strings, and ignoring case in regular expressions - (2006-11-25)
[1195] Regular Express Primer - (2007-05-20)
[1305] Regular expressions made easy - building from components - (2007-08-16)
[1336] Ignore case in Regular Expression - (2007-09-08)
[1410] Tcl / regsub - changing a string and using interesting bits - (2007-10-27)
[1412] Sparse and Greedy matching - Tcl 8.4 - (2007-10-27)
[4205] Regular Expression Substitution - Tcl - (2013-11-12)
Q803 - Object Orientation and General technical topics - Regular Expressions - Extra Elements [1372] A taster PHP expression ... - (2007-09-30)
[1601] Replacing the last comma with an and - (2008-04-04)
[1735] Finding words and work boundaries (MySQL, Perl, PHP) - (2008-08-03)
[1860] Seven new intermediate Perl examples - (2008-10-30)
[2909] Be gentle rather than macho ... regular expression techniques - (2010-08-08)
[3089] Python regular expressions - repeating, splitting, lookahead and lookbehind - (2010-12-17)
[3100] Looking ahead and behind in Regular Expressions - double matching - (2010-12-23)
[3516] Regular Expression modifiers in PHP - summary table - (2011-11-12)
[3650] Possessive Regular Expression Matching - Perl, Objective C and some other languages - (2012-03-12)
H107 - String Handling in PHP [31] Here documents - (2004-08-28)
[54] PHP and natural sorting - (2004-09-19)
[337] the array returned by preg_match_all - (2005-06-06)
[422] PHP Magic Quotes - (2005-08-22)
[463] Splitting the difference - (2005-10-13)
[493] Running a Perl script within a PHP page - (2005-11-12)
[558] Converting between acres and hectares - (2006-01-08)
[560] The fencepost problem - (2006-01-10)
[574] PHP - dividing a string up into pieces - (2006-01-23)
[589] Robust PHP user inputs - (2006-02-03)
[608] Don't expose your regular expressions - (2006-02-15)
[642] How similar are two words - (2006-03-11)
[716] Evaluating arithmetic expressions in configuration files - (2006-05-10)
[728] Looking ahead and behind in a Regular Expression - (2006-05-22)
[1008] Date conversion - PHP - (2006-12-26)
[1058] PHP Regular expression to extrtact link and text - (2007-01-31)
[1533] Short and sweet and sticky - PHP form input - (2008-02-06)
[1603] Do not SHOUT and do not whisper - (2008-04-06)
[1799] Regular Expressions in PHP - (2008-09-16)
[2046] Finding variations on a surname - (2009-02-17)
[2165] Making Regular Expressions easy to read and maintain - (2009-05-10)
[2238] Handling nasty characters - Perl, PHP, Python, Tcl, Lua - (2009-06-14)
[2629] Curly braces within double quoted strings in PHP - (2010-02-09)
[3020] Handling (expanding) tabs in PHP - (2010-10-29)
[3424] Divide 10000 by 17. Do you get 588.235294117647, 588.24 or 588? - Ruby and PHP - (2011-09-08)
[3515] PHP - moving from ereg to preg for regular expressions - (2011-11-11)
[3534] Learning to program in PHP - Regular Expression and Associative Array examples - (2011-12-01)
[3788] Getting more than a yes / no answer from a regular expression pattern match - (2012-06-30)
[3789] More than just matching with a regular expression in PHP - (2012-06-30)
[3790] Solution looking for a problem? Lookahead and Lookbehind - (2012-06-30)
[4071] Setting up strings in PHP - (2013-04-27)
[4072] Splitting the difference with PHP - (2013-04-27)
Some other Articles
Steam Engines at BressinghamNot daring to be an anorakPHP training courses every monthWhen an array is not an arrayRegular expression for 6 digits OR 25 digitsComfy Chair - Floating Harbour, BristolGauging point at entrance to Bristols Floating HarbourPHP course dot co, dot ukChew Valley LakesUnderlining in Perl and Python - the x and * operator in use