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
Code:
# Check for any double letter within the alphabet
/[a-zA-Z]+/
# Check for any repetition of an alphanumeric character
/\w+/
Im aware that the + means to search for one or more occurences of that character, however trying both of these did not meet the requirements of my program.
Also
Code:
/[a-zA-Z]{1}/
did not prove to be helpful as well
After doing some searching, I stumbled across the correct form of the regex for the double letter case. It turned out to be
Code:
/(.)\1/
Now I know that . refers to any single character and the \1 refers to the first character in the line being read (if s/..../.... is being used), but Im still puzzled as to why /(.)\1/ works instead of /[a-zA-Z]+/ for the case of double letters ?
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()\b/) {... (4 Replies)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Perl::Critic::Policy::RegularExpressions::RequireBracesFUserlContributed PPerl::Critic::Policy::RegularExpressions::RequireBracesForMultiline(3pm)NAME
Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline - Use "{" and "}" to delimit multi-line regexps.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Long regular expressions are hard to read. A good practice is to use the "x" modifier and break the regex into multiple lines with
comments explaining the parts. But, with the usual "//" delimiters, the beginning and end can be hard to match, especially in a "s///"
regexp. Instead, try using "{}" characters to delimit your expressions.
Compare these:
s/
<a s+ href="([^"]+)">
(.*?)
</a>
/link=$1, text=$2/xms;
vs.
s{
<a s+ href="([^"]+)">
(.*?)
</a>
}
{link=$1, text=$2}xms;
Is that an improvement? Marginally, but yes. The curly braces lead the eye better.
CONFIGURATION
There is one option for this policy, "allow_all_brackets". If this is true, then, in addition to allowing "{}", the other matched pairs of
"()", "[]", and "<>" are allowed.
CREDITS
Initial development of this policy was supported by a grant from the Perl Foundation.
AUTHOR
Chris Dolan <cdolan@cpan.org>
COPYRIGHT
Copyright (c) 2007-2011 Chris Dolan. Many rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module
perl v5.14.22012-0Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline(3pm)