Question about REGEX Patterns and Case Sensitivity?
Hello All,
I'm in the middle of a script and I'm doing some checks with REGEX (i.e. using the '[[' ).
I'm wondering if this example is correct or if its just a coincidence. But I thought that if I did not use the "shopt -s nocasematch"
that at least the first one should print "FALSE" but it prints "TRUE"..?
For Example:
The OUTPUT:
I remember being told before that the pattern "[A-z]" is NOT the same as doing "[A-Za-z]" like it would be in Perl...
So I'm wondering why the pattern "[a-Z]", which is the last if statement in the code above, returns "TRUE", when
the 2nd if statement above "[A-z]" returns "FALSE"...?
I tried changing the Variable "$MY_VAR" from all upper case to all lowercase, but I still get the same output...
And lastly, if I include the "shopt -s nocasematch" they all return "TRUE"...
If anyone has any thoughts/suggestions that would be great!
Outside this process I built a file containing snmp response filtering for hostname, model type and ios version.
I want to get a count across the network of those devices running 11.x code, 12.0 mainline, 12.0 T train and above, 12.1 and above and OS levels.
This works ok .. but its cheap... (2 Replies)
It can get very annoying that bash regex =~ is case-sensetive, is there a way to set it to be case-insensetive?
if ]; then
echo match
else
echo no match
fi (8 Replies)
Hi,
I'm trying to write a routine to parse a file that contains data that will be read
into arrays. The file is composed of labels to identify data types and arbitrary
lines of data with the usual remarks and empty new lines as is common with
config files.
The initial pass is built as so:... (3 Replies)
I have to read the file, in each line of file i need to get 2 values using more than one search pattern.
ex: <0112 02:12:20 def > /some string/some string||some string||124
i donot have same delimiter in the line, I have to read '0112 02:12:20' which is timestamp, and last field '124' which is... (4 Replies)
If I'm using a program that is expecting certain filenames and directories to be all CAPS, isn't there a way to ignore this in linux/cshell scripting? I.e., similiar to ignoring spaces with " (i.e., directory is directory 1, can ignore by typing "directory 1".) ?? (2 Replies)
42 network read failed
sv1 sv23 sv4
sv11 sv23 sv5 sv 7
48 client hostname could not be found
sv21 sv78 sv19 sv22
sv111 sv203 sv5 sv 33
49 client did not start
sv1 sv21
54 timed out connecting to client
sv2 sv4 sv12
above is my file , I'd like to use a script to list all name... (5 Replies)
can someone please confirm for me if i'm right:
the pattern:
ORA-0*(600?|7445|4)
can someone give me an idea of all the entries the pattern above will grab from a database log file?
is it looking for the following strings?:
ORA-0600
ORA-7445
4) (2 Replies)
Hi Folks,
I have a large text file with multiple similar patterns on each line like:
blank">PATTERN1 some word PATTERN2
title=">PATTERN1 some word PATTERN2
blank">PATTERN1 another word PATTERN2
title=">PATTERN1 another word PATTERN2
blank">PATTERN1 one more time PATTERN2
title=">PATTERN1... (10 Replies)
Hello All,
While googling on regex I came across a site named Regulex Regulex:JavaScript Regular Expression Visualizer
I have written a simple regex ^(a|b|c)(*)@(.*) and could see its visualization; one could export it too, following is the screen shot.
... (3 Replies)
Discussion started by: RavinderSingh13
3 Replies
LEARN ABOUT DEBIAN
data::munge
Data::Munge(3pm) User Contributed Perl Documentation Data::Munge(3pm)NAME
Data::Munge - various utility functions
SYNOPSIS
use Data::Munge;
my $re = list2re qw/foo bar baz/;
print byval { s/foo/bar/ } $text;
foo(mapval { chomp } @lines);
print replace('Apples are round, and apples are juicy.', qr/apples/i, 'oranges', 'g');
print replace('John Smith', qr/(w+)s+(w+)/, '$2, $1');
DESCRIPTION
This module defines a few generally useful utility functions. I got tired of redefining or working around them, so I wrote this module.
Functions
list2re LIST
Converts a list of strings to a regex that matches any of the strings. Especially useful in combination with "keys". Example:
my $re = list2re keys %hash;
$str =~ s/($re)/$hash{$1}/g;
byval BLOCK SCALAR
Takes a code block and a value, runs the block with $_ set to that value, and returns the final value of $_. The global value of $_ is
not affected. $_ isn't aliased to the input value either, so modifying $_ in the block will not affect the passed in value. Example:
foo(byval { s/!/?/g } $str);
# Calls foo() with the value of $str, but all '!' have been replaced by '?'.
# $str itself is not modified.
mapval BLOCK LIST
Works like a combination of "map" and "byval"; i.e. it behaves like "map", but $_ is a copy, not aliased to the current element, and
the return value is taken from $_ again (it ignores the value returned by the block). Example:
my @foo = mapval { chomp } @bar;
# @foo contains a copy of @bar where all elements have been chomp'd.
# This could also be written as chomp(my @foo = @bar); but that's not
# always possible.
submatches
Returns a list of the strings captured by the last successful pattern match. Normally you don't need this function because this is
exactly what "m//" returns in list context. However, "submatches" also works in other contexts such as the RHS of "s//.../e".
replace STRING, REGEX, REPLACEMENT, FLAG
replace STRING, REGEX, REPLACEMENT
A clone of javascript's "String.prototype.replace". It works almost the same as "byval { s/REGEX/REPLACEMENT/FLAG } STRING", but with a
few important differences. REGEX can be a string or a compiled "qr//" object. REPLACEMENT can be a string or a subroutine reference. If
it's a string, it can contain the following replacement patterns:
$$ Inserts a '$'.
$& Inserts the matched substring.
$` Inserts the substring preceding the match.
$' Inserts the substring following the match.
$N (where N is a digit)
Inserts the substring matched by the Nth capturing group.
${N} (where N is one or more digits)
Inserts the substring matched by the Nth capturing group.
Note that these aren't variables; they're character sequences interpreted by "replace".
If REPLACEMENT is a subroutine reference, it's called with the following arguments: First the matched substring (like $& above), then
the contents of the capture buffers (as returned by "submatches"), then the offset where the pattern matched (like "$-[0]", see "@-" in
perlvar), then the STRING. The return value will be inserted in place of the matched substring.
Normally only the first occurrence of REGEX is replaced. If FLAG is present, it must be 'g' and causes all occurrences to be replaced.
AUTHOR
Lukas Mai, "<l.mai at web.de>"
COPYRIGHT & LICENSE
Copyright 2009-2011 Lukas Mai.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as
published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
perl v5.12.4 2011-08-03 Data::Munge(3pm)