I'm using the URL Regex feature of Squid for allowing sites via a list of regex strings to match allowed domains. The regex was actually copied from our previous proxy solution and it seemed to "just work". But, we've recently discovered that some domains (likely due to virtual hosts or host header configuration depending on if it's Apache or IIS respectively) fail if they are used without the www prefix in the URL. Below is an example of what sometimes works:
The '.*\.' before the 'microsoft\.com' portion SHOULD mean, any number of any characters (zero or more) followed by a '.' I see the error in terms of the '\'. portion of the regex and plan to fix that. However, I've been unable to find a way to match both 'www.microsoft.com' and 'microsoft.com'. Here's what I thought would work:
I admit to being really bad with regex, so please don't be too hard on me please. I've just never been able to "get it" 100%. Needless to say, the above doesn't work for me at all. It matches neither 'microsoft.com' nor 'www.microsoft.com'. I've tried some limited testing with 'grep' to try and find an adequate solution. But, what is it that I'm really trying to match? At first, I assumed I wanted a whitespace character, but I'm not looking for ' microsoft.com'. Then I thought, a null? But that seems to be impossible to match since it's not really a match at all since there's no character there. I'm sure someone who is an expert at regex would look at this and provide something insanely simple. I really don't want to do this:
or worse, this:
Any suggestions? Thanks in advance...
Last edited by deckard; 06-05-2008 at 11:57 AM..
Reason: Received a solution to the problem.
I want to use find to locate files with two different extensions, and run a grep on the results. The closest I have gotten is incredibly slow and ugly:
for i in `ls -laR|egrep -e '(.js|.css)'`; do find . -name $i -print|xargs grep -H searchBg; done;
This method makes my eyes bleed. Help! ;)
... (2 Replies)
Hello,
I would assume the expression ^$ should match a null string. Yet when I run:
echo -n | sed 's/^$/nullstring/'
I get no output.
Can anyone tell me why? (6 Replies)
Let's say I'm trying to match potentially multiple sets of parentheses. Is there a way in a regular expression to force a match of closing parentheses specifically in the number of the opening parentheses?
For example, if the string is "((foo bar))", I want to be able to say "match any number of... (7 Replies)
Hi folks,
Lets say I have the following text file:
name, lastname, 1234, name.lastname@test.com
name1, lastname1, name2.lastname2@test.com, 2345
name, 3456, lastname, name3.lastname3@test.com
4567, name, lastname, name4.lastname4@test.com
I now need the following output:
1234... (5 Replies)
I need scan through some files, then open the file one by one and scan inside the file using perl to see if it contain a start tag and end tag which the end tag is the mirror image of the start tag, the start tag and end tag only have 5 char. And inside the file there is "http://". It is just a... (5 Replies)
Hi,
I've a logfile which i need to parse and get the logs depending upon the user input. here, i'm providing an option to enter the string which can be matched with the log entries.
e.g. one of the logfile entry reads like this -
$str = " mpgw(BLUESOAPFramework):... (6 Replies)
I want to be able to get all the directories in a path into a variable array, BUT if there ARE NO directories I want the Variable to be NULL and not echo any error message!
If there ARE directories, this will get the list of the directories whose name begins with the string "20":... (6 Replies)
Hi,
I'm trying to validate if a string matches a regular expression, but it is not working. Am I missing something? Do I need to scape any of the characters?
if echo 'en-GB' | egrep '({1,8})(-{1,8})*' >/dev/null; then
echo Valid value
fi
Thanks in advance (6 Replies)
I am trying to find patterns in files using grep -l -e. I specifically am searching for abc. I want any file that has abc in it, but not just the letters abc. I am searching for a pattern a followed by b followed by c. I have tried egrep -l and also I have tried the following:
grep -el... (2 Replies)
Hi all,
I want to extract rows with the pattern ALPHANUMERIC/ALPHANUMNERIC in the 2nd column.
I dont wan rows with more than 1 slash or without any slash in 2nd column.
a a/b
b a/b/c
c a/b//c
d t/y
e r
f /f
I came up with the regex
grep '\/$' file
a a/b
b a/b/c
d t/y (3 Replies)
Discussion started by: jianp83
3 Replies
LEARN ABOUT PHP
re_exec
RE_COMP(3) Linux Programmer's Manual RE_COMP(3)NAME
re_comp, re_exec - BSD regex functions
SYNOPSIS
#define _REGEX_RE_COMP
#include <sys/types.h>
#include <regex.h>
char *re_comp(const char *regex);
int re_exec(const char *string);
DESCRIPTION
re_comp() is used to compile the null-terminated regular expression pointed to by regex. The compiled pattern occupies a static area, the
pattern buffer, which is overwritten by subsequent use of re_comp(). If regex is NULL, no operation is performed and the pattern buffer's
contents are not altered.
re_exec() is used to assess whether the null-terminated string pointed to by string matches the previously compiled regex.
RETURN VALUE
re_comp() returns NULL on successful compilation of regex otherwise it returns a pointer to an appropriate error message.
re_exec() returns 1 for a successful match, zero for failure.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
+---------------------+---------------+-----------+
|Interface | Attribute | Value |
+---------------------+---------------+-----------+
|re_comp(), re_exec() | Thread safety | MT-Unsafe |
+---------------------+---------------+-----------+
CONFORMING TO
4.3BSD.
NOTES
These functions are obsolete; the functions documented in regcomp(3) should be used instead.
SEE ALSO regcomp(3), regex(7), GNU regex manual
COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
GNU 2017-09-15 RE_COMP(3)