Hi all, i have read in one site (i can put link, but is in Czech language ) that regular expressions have some kind of memory. If i understood it propertly when i want to remebmer some part of regexp i just put it between \( and ) and then call it by \1 \2 \3 etc. where \$number is number of memored expression. So i tried some examples bud didnt work for me :
lets say i want to know only UID and HOME from /etc/passwd so i tried followings:
but neither one works. I know i didnt call \1 and \2 but i dont know how.
also tried append "end" string to end of all lines of file
with the same result as prevouis.
I know both tasks can be done using some other utils such as sed. But just for curiosity i want know more about regexp memory. Thanks a lot
---------- Post updated at 05:37 PM ---------- Previous update was at 05:32 PM ----------
Noticed that the block of text that to be memored must be in \(....\), works in sed, in grep still dont know how to print just \1 \2
How can i create a regular expression which can detect a new line charcter followed by a special character say * and replace these both by a string of zero length?
Eg:
Input File san.txt
hello
hi ... (6 Replies)
how to find for a file whose name has all characters in uppercase after 'project'?
I tried this:
find . -name 'project**.pdf'
./projectABC.pdf
./projectABC123.pdf
I want only ./projectABC.pdf
What is the regular expression that correponds to "all characters are capital"?
thanks (8 Replies)
I have a flat file with the following drug names
Nutropin AQ 20mg PEN Cart 2ml
Norditropin Cart 15mg/1.5ml
I have to extract digits that are before mg i.e 20 and 15 ; how to do this using regular expressions
Thanks
ram (1 Reply)
In regular expressions with grep(or egrep), ^ works if we want something in starting of line..but what if we write ^^^ or ^ for pattern matching??..Hope u all r familiar with regular expressions for pattern matching.. (1 Reply)
#!/usr/bin/perl
$word = "one last challenge";
if ( $word =~ /^(\w+).*\s(\w+)$/ )
{
print "$1";
print "\n";
print "$2";
}
The output shows that "$1" is with result one and "$2" is with result challenge. I am confused about how this pattern match expression works step by step. I... (8 Replies)
what elements does " /^/ " match?
I did the test which indicates that it matches single lowercase character like 'a','b' etc. and '1','2' etc.
But I really confused with that. Because, "/^abc/" matches strings like "abcedf" or "abcddddee".
So, what does caret ^ really mean?
Any response... (2 Replies)
I have a file that I'm trying to find all the cases of phone number extensions and deleting them. So input file looks like:
abc
x93825
def
13234
x52673
hello
output looks like:
abc
def
13234
hello
Basically delete lines that have 5 numbers following "x". I tried: x\(4) but it... (7 Replies)
I need to pick a part of string lets stay started with specific character and end with specific character to replace using sed command
the line is like this:my audio book 71-skhdfon1dufgjhgf8.wav'
I want to move the characters beginning with - end before.
I have different files with random... (2 Replies)
Discussion started by: XP_2600
2 Replies
LEARN ABOUT SUNOS
re_exec
re_comp(3C) Standard C Library Functions re_comp(3C)NAME
re_comp, re_exec - compile and execute regular expressions
SYNOPSIS
#include <re_comp.h>
char *re_comp(const char *string);
int re_exec(const char *string);
DESCRIPTION
The re_comp() function converts a regular expression string (RE) into an internal form suitable for pattern matching. The re_exec() func-
tion compares the string pointed to by the string argument with the last regular expression passed to re_comp().
If re_comp() is called with a null pointer argument, the current regular expression remains unchanged.
Strings passed to both re_comp() and re_exec() must be terminated by a null byte, and may include NEWLINE characters.
The re_comp() and re_exec() functions support simple regular expressions, which are defined on the regexp(5) manual page. The regular
expressions of the form {m}, {m,}, or {m,n} are not supported.
RETURN VALUES
The re_comp() function returns a null pointer when the string pointed to by the string argument is successfully converted. Otherwise, a
pointer to one of the following error message strings is returned:
No previous regular expression
Regular expression too long
unmatched (
missing ]
too many () pairs
unmatched )
Upon successful completion, re_exec() returns 1 if string matches the last compiled regular expression. Otherwise, re_exec() returns 0 if
string fails to match the last compiled regular expression, and -1 if the compiled regular expression is invalid (indicating an internal
error).
ERRORS
No errors are defined.
USAGE
For portability to implementations conforming to X/Open standards prior to SUS, regcomp(3C) and regexec(3C) are preferred to these func-
tions. See standards(5).
SEE ALSO grep(1), regcmp(1), regcmp(3C), regcomp(3C), regexec(3C), regexpr(3GEN), regexp(5), standards(5)SunOS 5.10 26 Feb 1997 re_comp(3C)