| |||||||||||
Regexp - space or tab but not either! Posted by neilvp (neilvp), 4 April 2006 Guru GrahamI am attempting to look through a text file searching for any line that begins with either a 1, 2 or 3 digit number (i.e. 0-999) followed by either one or more spaces or by one or more tabs. I can make it work if looking for spaces but no tabs, or for tabs but no spaces but I cannot get it to work with an either/or option. code that I am using for 0-999 with tab (that works) if { [ regexp {^\d{1,3}\t} $lineread match ] } and for 0-999 with a following space if { [ regexp {^\d{1,3} } $lineread match ] } I have tried various combinations of various brackets and backslashes in attempting to get this to work but to no avail so please what alchemy do I require to enable the either/or please? Many thanks Neil Posted by admin (Graham Ellis), 4 April 2006 It should be[ \t] for either a space of a tab, and you'll need that within the curly braces - so ... if { [ regexp {^\d{1,3}[ \t]} $lineread match ] } (And there's a space after the [ character!) Posted by neilvp (neilvp), 4 April 2006 Thanks Graham, oops. I really must read AND understand the "when (and when not ) to use the ' \' " rules,... perhaps I need a refresher course! This page is a thread posted to the opentalk forum
at www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow this link.
|
Other Forum Posts Follow us on ... | ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |