Perl REGEX


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl REGEX
# 1  
Old 10-25-2008
Perl REGEX

Hi,
Can anyone help me to find regular expression for the following in Perl?
"The string can only contain lower case letters (a-z) and no more than one of any letter."
For example: "table" is accepted, whether "dude" is not.
I have coded like this:

$str = "table";
if ($str =~ m/\b([a-z])[^\1]\b/) {
...
}

But it does not work Image. Any helps would be appreciated. Thanks.
# 2  
Old 10-25-2008
Or are there any other ways besides using regex? Thanks.
# 3  
Old 10-25-2008
You're not going to be able to use a single regular expression to accomplish that. You might try something like:

if ($str !~ /([a-z]).*\1/ && $str =~ /^[a-z]+$/) {
...
}
# 4  
Old 10-25-2008
Quote:
Originally Posted by nwboy74
You're not going to be able to use a single regular expression to accomplish that. You might try something like:

if ($str !~ /([a-z]).*\1/ && $str =~ /^[a-z]+$/) {
...
}
I agree, a single regexp would be too complicated, but I think you also just did his school/course work for him. Smilie
# 5  
Old 11-05-2008
Build log issue (Perl)

Gentlemen,

Off my Windows MSDev compiler, I redirect each project to some log files. Because of that, I would like to get the begining word of the mached string line into a variable.

Example contents log file ($log_file):
......
MachineInfo - 0 error(s), 0 warning(s)
....
Libtool - 1 error(s), 0 warning(s)
....
LibSystem - 0 error(s), 0 warning(s)
......

so,
my $error = ' - 0 error(s)';
chomp(my $log_file = "D:\\$proj_$log_dir\\$log_file"));
my @in_log_file = open(IN, "<$log_file");
foreach $_(@in_log_file) {
if ($_ eq $error) {
print "No errors found\n";
} else {
.....
here is where I want the "Libtool" into a variable....
}
}

Thank you in advance for your help.
Chris
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl REGEX help

Experts - I found a script on one of the servers that I work on and I need help understanding one of the lines. I know what the script does, but I'm having a hard time understanding the grouping. Can someone help me with this? Here's the script... #!/usr/bin/perl use strict; use... (2 Replies)
Discussion started by: timj123
2 Replies

2. Shell Programming and Scripting

Perl, RegEx - Help me to understand the regex!

I am not a big expert in regex and have just little understanding of that language. Could you help me to understand the regular Perl expression: ^(?!if\b|else\b|while\b|)(?:+?\s+){1,6}(+\s*)\(*\) *?(?:^*;?+){0,10}\{ ------ This is regex to select functions from a C/C++ source and defined in... (2 Replies)
Discussion started by: alex_5161
2 Replies

3. Shell Programming and Scripting

?= in perl regex

Could anyone please make me understand how the ?= works below .. After executing this I am getting the same output. $string="I love chocolate."; $string =~ s/chocolate(?= ice)/vanilla/; print "$string\n"; (2 Replies)
Discussion started by: scriptscript
2 Replies

4. Programming

Perl regex

Hello, I'm trying to get a quick help on regex since i'm not a regular programmer. Below is the line i'm trying to apply my regex to..i want to use the regex in a for loop and this line will keep on changing. subject=... (4 Replies)
Discussion started by: jhamaks
4 Replies

5. Programming

Perl regex

Hi Guys I have the following regex $OSRELEASE = $1 if ($output =~ /(Mac OS X (Server )?10.\d)/); output is currently Mac OS X 10.7.5 when the introduction of Mac 10.8 output changes to OS X 10.8.2 they have dropped the Mac bit so i changed the regex to be (2 Replies)
Discussion started by: ab52
2 Replies

6. Programming

Perl regex

HI, I'm new to perl and need simple regex for reading a file using my perl script. The text file reads as - filename=/pot/uio/current/myremificates.txt certificates=/pot/uio/current/userdir/conf/user/gamma/settings/security/... (3 Replies)
Discussion started by: jhamaks
3 Replies

7. UNIX for Dummies Questions & Answers

Perl Regex Help!!!

Hi, I get the following when I cat a file *.log xxxxx ===== dasdas gwdgsg fdsagfsag agsdfag ===== random data ===== My output should look like : If the random data after the 2nd ==== is null then OK should be printed else the random data should be printed. How do I go about this... (5 Replies)
Discussion started by: manutd
5 Replies

8. Shell Programming and Scripting

Converting perl regex to sed regex

I am having trouble parsing rpm filenames in a shell script.. I found a snippet of perl code that will perform the task but I really don't have time to rewrite the entire script in perl. I cannot for the life of me convert this code into something sed-friendly: if ($rpm =~ /(*)-(*)-(*)\.(.*)/)... (1 Reply)
Discussion started by: suntzu
1 Replies

9. Shell Programming and Scripting

Perl regex

I have got numbers like l255677 l376039 l188144 l340482 l440700 l254113 to match the numbers starting with '13' what would be the regex =~/13(.*)/ =======>This is not working .... But for user123,user657 regex =~/user(.*)/ ========>works Thanks for help..!! (7 Replies)
Discussion started by: trina_1
7 Replies

10. Shell Programming and Scripting

q with Perl Regex

For a programming exercise, I am mean to design a Perl script that detects double letters in a text file. I tried the following expressions # Check for any double letter within the alphabet /+/ # Check for any repetition of an alphanumeric character /\w+/ Im aware that the... (8 Replies)
Discussion started by: JamesGoh
8 Replies
Login or Register to Ask a Question