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
For 2021 - online Python 3 training - see ((here)).

Our plans were to retire in summer 2020 and see the world, but Coronavirus has lead us into a lot of lockdown programming in Python 3 and PHP 7.
We can now offer tailored online training - small groups, real tutors - works really well for groups of 4 to 14 delegates. Anywhere in the world; course language English.

Please ask about private 'maintenance' training for Python 2, Tcl, Perl, PHP, Lua, etc.
Using both literals and variables in regexp

Posted by tclnewbee (tclnewbee), 19 July 2004

Lets say :
set str "sgh 567"

I'm able to find patterns using regexp as below:
  regexp -indices {[[:space:]]} $str res

 and i'm also able to find like:
set ptr 567
regexp -indices "$ptr" $str res

But I want a mixture of both, something like:
regexp -indices {[[:space:]]*("$ptr")}

how do I combine the two.

Thanks. I really need it urgently.

Posted by admin (Graham Ellis), 19 July 2004
You need to double quote the regular expression and not enclose it in { and } - since variables starting with $ are expanded withing " and " but not within { and }.

Then you need to backslash protect other special characters such as [ and ] as they are going to be performed in double quotes.

Here's an example of the sort of thing you might end up with:

     regexp "\[\[:space\]\]$demo"  $incoming

Look in $incoming for a space followed by whatever's in $demo

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

1 unpublished comment pending on this page

edit your own (not yet published) comments

© WELL HOUSE CONSULTANTS LTD., 2022: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: • WEB: • SKYPE: wellho