Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Regexp - space or tab but not either!

Posted by neilvp (neilvp), 4 April 2006
Guru Graham
I 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.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2012: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho