Regular Expression.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Regular Expression.
# 1  
Old 06-19-2011
Regular Expression.

can someone let me know what this means in english.

\(abcd\)


\ is an escape key right?

Thanks

Also im getting confused with something like it

[a-z] does this mean any single character?
and this would be 2 characters [a-z][a-z]?

Just let me know if im on the right track.
# 2  
Old 06-19-2011
Hi Syco

\ is a escape character. This is used to escape the special meaning of the character.
Code:
As * is a meta character, If you do not want to use it as a meta character 
use like this
\*

$ echo \*
  *

2)
[ ] is used for the range.
[a-z] means --> a character within a to z included a and z
i.e - c

[a-z][a-z] --> two times , like
i.e- pr


hope its ok.
This User Gave Thanks to atul9806 For This Post:
# 3  
Old 06-19-2011
[a-z] means any combination of letters in lower case and [A-Z] means any combination of letters in upper case.

---------- Post updated at 02:57 PM ---------- Previous update was at 02:49 PM ----------

Sorry Smilie I am wrong.
Thanks atul.
# 4  
Old 06-19-2011
\(abcd\)

so with the above does it just simply mean abcd?

---------- Post updated at 05:53 AM ---------- Previous update was at 05:53 AM ----------

\(abcd\)

so with the above does it just simply mean abcd?
# 5  
Old 06-19-2011
In a script, I want to print (abcd) -- with the parentheses
Code:
echo (abcd)

$ ./test.s
./test.s: line 1: syntax error near unexpected token `abcd'
./test.s: line 1: `echo (abcd)'
Code:
echo \(abcd\)     

$ ./test2.s
(abcd)

# 6  
Old 06-19-2011
In a regular expression parentheses are used to group characters, so you need to escape them if you mean to use them as characters to match.

\(abcd\) will match occurrences of "(abcd)".
(abcd) will match occurrences of "abcd".

You would group characters if you want to capture them, for example so you use them in a substitution, or to simplify expressions.

For example:

a(bc)?d will match "ad" or "abcd".
r(eig|ai)n will match "reign" or "rain".

Without being able to group characters in those expression you would otherwise have to offer the full version of every pattern. This is not a problem with those where there are only two possible variants, but with more complicated expressions you could otherwise end up with very long expressions.

If you see a character escaped though it essentially means to use it as a literal character rather than a special one.

So while [a-z] means match any character in the range from "a" to "z", you could also have \[a-z\] to match actual occurrences of "[a-z]".

Michael.
This User Gave Thanks to mij For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Regular expression

I would like to extract "JDBC Thin Client" from (PROGRAM=JDBC Thin Client); and "C:\Python26\python.exe" from (PROGRAM=C:\Python26\python.exe); "txm_v_awsrf_db.pr" from (PROGRAM=txm_v_awsrf_db.pr). if input line like "(PROGRAM=)", it return unknown. Would you help suggest a regular... (4 Replies)
Discussion started by: cstsang
4 Replies

2. Shell Programming and Scripting

Regular expression

Can someone please explain me what does this mean? ^{1,50}$ (1 Reply)
Discussion started by: Anupam_Halder
1 Replies

3. UNIX for Dummies Questions & Answers

Regular expression help

Hi, I am quite knew to scripting and I am trying to get a regular expression to work to check that a user enters a valid version number such as 1 or 1.1 or 12.3 etc. I dont seem to be able to get it to work as it picks up versions such as 1.......2. I only want it to work with a single dot.... (12 Replies)
Discussion started by: frodo61
12 Replies

4. UNIX for Advanced & Expert Users

sed: -e expression #1, char 0: no previous regular expression

Hello All, I'm trying to extract the lines between two consecutive elements of an array from a file. My array looks like: problem_arr=(PRS111 PRS213 PRS234) j=0 while } ] do k=`expr $j + 1` sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt ---some operation goes... (11 Replies)
Discussion started by: InduInduIndu
11 Replies

5. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

6. Shell Programming and Scripting

Integer expression expected: with regular expression

CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error. source $CA_VERSION_DATA if * ] then echo "CA_RELESE $CA_RELEASE is invalid" exit -1 fi + source /etc/ncgl/ca_version_data ++ CA_PRODUCT_ID=samxts ++ CA_RELEASE=6 ++ CA_WEEK_NO=7 ++... (3 Replies)
Discussion started by: ketkee1985
3 Replies

7. UNIX for Dummies Questions & Answers

ls with regular expression

I currently list and sort all the files in a directory which begin with an Upper Case C and end with the extension '#finished#'. Here is the command I use: ls -tr $currentDir/*.#finished# what i need to do now is list all the files in a directory that begin with upper case C and end... (3 Replies)
Discussion started by: rkgudde
3 Replies

8. Linux

Regular expression to extract "y" from "abc/x.y.z" .... i need regular expression

Regular expression to extract "y" from "abc/x.y.z" (2 Replies)
Discussion started by: rag84dec
2 Replies

9. Programming

What does the regular expression ['(^[^~]+~).*'] mean?

What does the regular expression +~).*'] mean while using it with regexec.When the string "RCHNUSNT35C~rs07/ASM-RS07" is used with the regular expression +~).*'] regexec gives an error. I know what regexec does,but i do not understand what this expression means wrt to this string... any help... (2 Replies)
Discussion started by: anupamar
2 Replies

10. Shell Programming and Scripting

Regular Expression + Aritmetical Expression

Is it possible to combine a regular expression with a aritmetical expression? For example, taking a 8-numbers caracter sequece and casting each output of a grep, comparing to a constant. THX! (2 Replies)
Discussion started by: Z0mby
2 Replies
Login or Register to Ask a Question