[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

tcl+ regexp

Posted on 2004-04-13
8
Medium Priority
?
582 Views
Last Modified: 2013-11-22
Hello,
   I have a question regd regexp in TCL.  

 There is a sring   var = " 1 ABC 2 BCN 3 NNN ooo llll mmm "
  I have to grep [NUMBERS] [ CAPS LETTESR] .
so i'm using  regexp { [0-9]+ [A-z]+ } $var var1
but it greps only 1 ABC . I need to grep all (i.e) 2 BCN 3 NNN
any simple logic or any power usage in regexp.Pls reply

0
Comment
Question by:n_uthra25
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 7

Expert Comment

by:leflon
ID: 10812388
Hi n_uthra25,

{[0-9]+[ 0-9A-Z]+}
will match any string starting with a number, followed by any combination of blanks, numbers or uppercase letters.
this should match "1 ABC 2 BCN 3 NNN " (ifear it will include the last blank)

leflon
0
 

Author Comment

by:n_uthra25
ID: 10812415
Hello Lefon,
   If you see in $var1 we will find only 1 ABC . But i need 2 BCN 3 NNN ( all the possibilities)  in some variable var2 var3.. so how do to .
  Hope you know regexp always grep first string.

0
 
LVL 7

Expert Comment

by:leflon
ID: 10812437
n_uthra25,

ahhh, got it (at last) :)
checking..... (will take some time)

leflon
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 28

Expert Comment

by:FishMonger
ID: 10813901
I don't know what the differences are between TCL's regex engine and Perl's but this is how I'd do it with Perl.

(@vars) = $var =~ /\G\s*(\d+\s+[A-z]+)/g;
0
 
LVL 28

Expert Comment

by:FishMonger
ID: 10813929
This is the test code I used and its output.


#!/usr/bin/perl -w

use Data::Dumper;

$var = " 1 ABC 2 BCN 3 NNN";

(@vars) = $var =~ /\G\s*(\d+\s+[A-z]+)/g;
print Dumper @vars;

----- output -----
$VAR1 = '1 ABC';
$VAR2 = '2 BCN';
$VAR3 = '3 NNN';
0
 

Author Comment

by:n_uthra25
ID: 10814064
Hello FishMonger,
   I would really appreciate if could get it in TCL.

0
 
LVL 7

Accepted Solution

by:
leflon earned 320 total points
ID: 10814617
hi n_uthra25

if i get it right you can use the -inline and -all switches of the regexp to get a list with all matches

with set var " 1 ABC 2 BCN 3 NNN ooo llll mmm "
regexp -all -inline -- {[0-9]+ [A-z]+} $var
  => {1 AAA} {2 BCN} {3 NNN}

hth
leflon
0
 

Author Comment

by:n_uthra25
ID: 10815445
great..Thanks for your reply..
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question