1b3e9 Using both literals and variables in regexp - The Tcl programming language
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
Using both literals and variables in regexp

Posted by tclnewbee (tclnewbee), 19 July 2004

Hi,
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 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., 2013: 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
0