Programming :: Regular Expression Query - Express Disallowing Empty Brackets "()"
Feb 1, 2011
A string can assume the following valid values:"(a, b)" "(a)" "(b)"how I can express this disallowing empty brackets "()"? (I am using Python.)
View 6 Replies
ADVERTISEMENT
Sep 2, 2010
I am trying myself on regular expressions. A read on [URL]/regex.htm) that {x} means search X times preceding character. So, why is this :
Code:
wstation~> echo '123456789' | grep [0-9][0-9][0-9]
123456789 # MATCH !! I have 3 numbers in a row.
[code]...
View 2 Replies
View Related
May 7, 2011
I've spent most of the evening browsing the web, trying many things I've found on various forums, but nothing seems to work.
I have a test.txt file containing many lines like the following ones :
...
<insert_random_text>228.00 €<insert_more_random_text>
<insert_random_text>17.50 €<insert_more_random_text>
<insert_random_text>1238.13 €<insert_more_random_text>
...
And I want to extract :
...
228.00
17.50
1238.13
...
There is always one occurrence of € in each line. I want the numeric value that precedes this € occurrence. The random text (before and after) may contain numbers too, so the € may be important to parse, in order to correctly identify the number to return. The last character that precedes the number to extract is always a ">" (coming from an HTML tag).
View 9 Replies
View Related
Mar 16, 2011
i cant use regular expression in replace function. I want to do this
a = ' Bad boy'
b = a.replace("b[aA]d", '')
Ofcourse this is a simple example for my query. Its not working so shall i assume regex dont work with replace function ?
View 1 Replies
View Related
May 27, 2009
I need to use sed to edit a file that contains just one line. This should be pretty simple, but I've googled and can't seem to figure it out. I need to match everything from a certain string up until the first comma in the line. There are multiple commas in the line and my matching pattern is matching up until the last comma, not the first.
Here is what I'm trying:
As you can see it is matching up until the last comma. Seems like the .* is matching any character including the other commas. The output from this that I am hoping to achieve:
How can I get the regular expression to match from asdf: up until the first comma?
View 3 Replies
View Related
May 15, 2010
I'm writing a loganalysis application and wanted to grab apache log records between two certain dates. Assume that a date is formated as such: 22/Dec/2009:00:19 (day/month/year:hour:minute) Currently, I'm using a regular expression to replace the month name with its numeric value, remove the separators, so the above date is converted to: 221220090019 making a date comparison trivial.. but.. Running a regex on each record for large files, say, one containing a quarter million records, is extremely costly.. is there any other method not involving regex substitution? here's the function doing the convertion/comparison
[Code]...
View 13 Replies
View Related
May 3, 2010
I found such simple example of awk
Code:
awk '
BEGIN { a = "1abc 2def"
b = gensub(/(.+) (.+)/, "\2 \1", "g", a)
print b }'
However I don't understand why the regular expresion in parentheses doesn't work how I woud expect. If I delete the .+ so it does the same.
Code:
awk '
BEGIN { a = "1abc 2def"
b = gensub(/() ()/, "\2 \1", "g", a)
print b }'
I wanted to use a regular expression in parantheses like ([/+[]()]) to get the specific letters.
Code:
awk '
BEGIN { a = "1abc 2def"
b = gensub(/([/+[]()])/, "//\1", "g", a)
print b }'
But why the regexp in () isn't working
View 16 Replies
View Related
Apr 30, 2011
I remember reading that using sed, you can do this with parentheses: s/abc(something)def/(something)else/g I can't find an explanation of how to do something like this with Awk. Say you have this in an HTML file, where (number) stands for a one or two-digit number:
<sup>(number)</sup>
And you want to change that to this:
<a name="(number)t" href="#(number)b"><sup>(number)</sup></a>
How would this be possible? Would you have to use sed?
View 4 Replies
View Related
May 26, 2009
Part of a perl script I am writing need to change the character at an index to upper case. Now i am new to perl and i am having some trouble getting it to do it. In c++ i would do something like
Code:
Now from what i understand the same thing is possible in perl using regular expressions. But i cant get it to work.
View 2 Replies
View Related
Mar 18, 2010
I have been battling with regular expressions and am a little lost. I want to find all my files that end with .la and have been trying this
Code:
slocate -r .la$
which finds them but also files like mozilla. The escaped full stop seems to be ignored however this works :
Code:
slocate -r \.la$
so why is the double escaping needed ?
View 3 Replies
View Related
Jun 29, 2010
how do I get this regular expression to work in an if/else statement? This is just a little script for learning BASH. don't be too harsh.
This script will test if a certain number of files with 1-4 in their filename exist and print their filename. An error message will be printed if not.
#
for i in `ls file[1-9]`
do
if [[ "$i" == *1-4 ]] ; then
echo "This file, $i, ends in a number between 1-4"
else
echo "Error, this file, $i, does not end with a number between 1-4"
fi
done
I get this error. ./file_test.sh: 13: [[: not found
View 2 Replies
View Related
Oct 13, 2010
I'm writing a Perl script to find an old key in a file and replace it with a new codefirst the program should find the old key in the input file. here is the way I used in my script. but it doesn't work.May you please let me know what is wrong and how I can correct it?the key is stored in the file in the following format:
PHP Code:
Key=("1234567" , someOtherVrable)
I want 1234567
[code]...
View 1 Replies
View Related
Feb 3, 2010
I was doing an exercise on Learning Perl, 3rd edition. (exercise chapter 10 btw) The problem asks to create a program that generates a random number and asks the user to guess. It should tell the user if the guess is lower or higher and exit if the user types either exit or quit. My code is the following:
Code:
#! /usr/bin/perl
$correct = int(1+rand 100);
[code]....
View 2 Replies
View Related
Feb 15, 2011
The following command would remove the leading astericks, spaces, slashes, tabs and is present in an awk script.
Code:
gsub(/^[/* ]*/,"")
The above code is working fine when i run in Cygwin on windows machine. But when i run in Ubuntum throws the following error.
Code:
awk: ./Format.awk: line 30: regular expression compile failed (bad class -- [], [^] or [)
^[
awk: 30: unexpected character ''
awk: ./Format.awk: line 30: runaway regular expression /,""); ...
View 2 Replies
View Related
Aug 26, 2010
I have made this:
Code:
from urllib import urlopen import re
current_site = urlopen("http://www.krak.dk/").read()
search = re.findall("((http://|https://|ftp://)|(www.))+(([a-zA-Z0-9.-]+.[a-zA-Z]{2,4})|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(/[a-zA-Z0-9%:/-_?.'~]*)?", current_site)
[code]....
I only want to match complete URL's. how do i avoid matching the fragments ?
View 4 Replies
View Related
Jun 22, 2010
I have this regular expression
Code:
(@description ").*(";)
I want to match anything in between the quotes its working fine in JavaScript but its not working in my python program:
Code:
#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
import re
[code]....
View 3 Replies
View Related
Dec 8, 2010
I have something like the following in my expect script:
Code:
interact {
-nobuffer -re {^s
} {
[code]....
I have put the "^" anchor to match only those pattern that does not have anything before "s" e.g.
1.when I type "s" followed by "enter" key it should match.
2.if I type something like "chess" followed by "enter" key it shouldn't match. the second case is also being matched by the regular expression I have in my code.
View 4 Replies
View Related
May 28, 2010
I'm trying to math all class references in a C++ file using grep with regular expression. I'm trying to know if a specific include is usuless or not, so I have to know if there is a refence in cpp. I wrote this RE that searches for a reference from class ABCZ, but unfortunately it isn't working as I espected:
grep -E '^[^(/*)(//)].*[^a-zA-Z]ABCZ[]*[*(<:;,{& ]'
^[^(/*)(//)] don't math comments in the begging of the line ( // or /* )
.* followed by any character
[code]....
Well, I can get patterns like this:
class Test: public ABCZ{
class Test: public ABCZ {
class Test : public ABCZ<T>
[code]....
View 4 Replies
View Related
Aug 7, 2010
From the following code
Code:
<table width="100%" border="0" cellspacing="3" cellpadding="3">
<tr>
<td colspan="2"><p style="width:460px; display:block;">
I wan to get this text only from the whole html code. </p></td> From the above code I want to get that english written sentence only using php preg_match or anything other which makes it possible. I've tried following so far but doesn't work
Code:
preg_match("#<td colspan="2"><p style="width:460px; display:block;">[ .]+</p>#i", $aboveCode, $match);
View 5 Replies
View Related
May 12, 2010
I am trying to create a regular expression in perl to remove all the delimiters (|) from a file. I was also thinking might I be able to use tr?
View 11 Replies
View Related
Jun 29, 2010
I am trying to write a script to edit text files formatted like this:
Code:
(MCAL@Contig766:0.30207,CGIG@CVIR_Contig1014:0.13977,(HASI@HDIS_Contig573:0.16828,(CAPI@LCIN_5594371:0.36581,CFOR@FQH745302RIQ7Y:1.91244)0.160:0.00019)0.939:0.15648);
There are never line breaks or spaces in the actual files.
I want to delete all instances of the character "@" and everything between it and the next "," (including that comma) or the next ")" (including that close parentheses) whichever comes first. My desired output file would be like this:
Code:
(MCAL,CGIG,(HASI,(CAPI,CFOR)0.160:0.00019)0.939:0.15648);
I figured out how to do this using sed for either "," or ")" but both looking for whichever comes first.
View 6 Replies
View Related
Aug 23, 2010
I am trying to scan a website for http references (links) with this script:
Code:
from urllib import urlopen
import re
current_site = urlopen("http://en.wikipedia.org/wiki/").read()
search = re.search('href="[a-zA-Z0-9]"', current_site)
[code]....
I get the following error message:
Code: Traceback (most recent call last): File "C:UsersadminDesktopcrawler.py", line 8, in <mo print search.group(0) AttributeError: 'NoneType' object has no attribute 'group' I have googled the error
View 2 Replies
View Related
Dec 25, 2010
i have a file like this
# comments
#comments
#comments
bla bla
[code]....
i want to grep lines which do not start with # or a blank space. like
bla bla
bla bla
how do i do this? i tried grep --invert-match '^#' which gives lines not starting with # but gives me blank lines too i tried grep --invert-match '^#|^ ' which will give lines not starting with # OR not starting with blank ( which means any line including ones starting with #
View 3 Replies
View Related
Nov 19, 2008
I'm having a bit of trouble with a regular expression I'm trying to write and I'm not sure if it's something Tcl specific or my lack of regexp understanding.
[Code]...
I get a number of strings passed to a proc in the format 3|x where x is a number, either 0 or within the range 5-12. My understanding is that that regexp will match the literal '3' followed by a '|', the escapes the special meaning of |, and then 0 or, because of |, a number within the range 5-12. However I'm getting the error 'couldn't compile regular expression pattern: invalid character range'.
View 3 Replies
View Related
Jan 21, 2010
On my server, logs are saved in log.gz format. I want to know what regular expression should i use to search both oracle and a particular IP, say 1.2.3.4 in a single log line ?
View 6 Replies
View Related
Oct 22, 2009
I have two type of lines in a text file example
Code:
x.junk(a,b,YAHOO);
y.junk(c,d);
I want to search and replace the second type of line with the first type i.e. with YAHOO included, so that I have
Code:
x.junk(a,b,YAHOO);
y.junk(c,d,YAHOO);
I am trying to use
Code:
:%s/(.*).junk((.*),(.*)^<YAHOO>);/1.junk(2,3,YAHOO);/
In the above code ^<YAHOO> search is not working (I want lines "except YAHOO"). I know that [^ab] will work for "except a,b" characters. How can I say "except word" in regular expressions?
View 8 Replies
View Related
Nov 23, 2010
I just want to grep for a n digit number followed by M alphabet. Generally for a three digit number i can give grep [0-9][0-9][0-9]M , but if the digits are increasing it is tough to represent them.
View 7 Replies
View Related
Apr 1, 2011
so I have a perl script that contains an array like this:@hostNames = (ABC123R:192.168.1.1, CBA321CBP:192.168.1.2, ZYX987R:192.168.1.3, etc firstelement"ABC123R:192.168.1.1":ABC123R is the hostname and 192.168.1.1 is it's IPaddress.I am trying to write a regular expression that will split the element with a '-' wherever there is a LETTER next to a NUMBER, like so:ABC-123-R:192.168.1.1I tried this expression below but am struggling with using regex for slightly complicated matching criteria:
for ($x = 0; $x < scalar(@hostNames); $x++)
{
$hostNames[$x] = split /([A-Z][0-9])/, "-"
[code]....
View 2 Replies
View Related
Feb 15, 2010
What I want to achieve is, if I have following in my file:
x y
X z
I should be able to find the pair, x Y and replace it with x a. So, basically I want to search for case sensitive 'x' but search and replace case insensitive 'y'. How should I do it? Can this be achieved with 'sed' command?
View 8 Replies
View Related
Jul 7, 2010
I'm attempting to search through a rather large assortment of html files created in Word using 'save as html'. what I'm trying to do is find and delete these tags (they're causing browsers to display black diamonds with white question marks):
<span style='mso-spacerun:yes'> </span> Tags contain from 1 to 4 spaces between opening and closing. I get positive results from this:
grep <span style='mso-spacerun:yes'> filename.html but once I attempt to tell it to match any number of characters up until the next '>' symbol, it tells me I'm using an invalid regex: grep <span style='mso-spacerun:yes'>[^>]+> filename.html
I've been nose-deep in regex tutorials for the past day or so, and I'm still not understanding why this doesn't work. If I put the pattern (without backslashes) into a separate file and use `grep -f patternfile filename.html`, I get no error but no matches either. So far as I can figure, the above regex boils down to:
Match the string "<span style='mso-spacerun:yes'>", followed by any number of characters that are not a ">", followed by a ">". If someone could tell me where I'm going wrong with this,
View 7 Replies
View Related