0% found this document useful (0 votes)
25 views

Java Lect 17

Regular expressions (RegEx) can be used for powerful text searching and processing in tools like text editors, programming languages, and grep/awk. RegEx patterns describe and match sets of strings using normal characters and special metacharacters. Common uses of RegEx include text searches, search and replace, and extracting parts of strings for further processing.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Java Lect 17

Regular expressions (RegEx) can be used for powerful text searching and processing in tools like text editors, programming languages, and grep/awk. RegEx patterns describe and match sets of strings using normal characters and special metacharacters. Common uses of RegEx include text searches, search and replace, and extracting parts of strings for further processing.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Regular Expressions

ashishFA@cse

Where can I use


Powerful in
- Search , search and replace, text processing

Text Editors vi, editplus


Programming languages - perl, Java
Grep,awk

01/16/16Friday, January

Before RegEx
Wildcard
*.txt
My_report*.doc
Here the * indicates any number of any
characters.

01/16/16Friday, January

!
Regular expressions (RegEx) tend to
be easier to write than they are to
read

01/16/16Friday, January

What is RegEx
a regular expression-- a pattern that describes or
matches a set of strings
Matched text chunk of text which matches the
regular expression.
ca[trn]
Matches car, can, cat

Editplus is used throughout this presentation as tool to demonstrate


regular expressions

01/16/16Friday, January

the

Structure of RegEx
Made up of normal characters and
metacharacters.
Metacharacters special function
$ ^ . \ [] \( \) + ?
$ means end of line
^ start of line

01/16/16Friday, January

Literal match
RegEx: cat will match the word cat
It will also match words like
concatenation , delicate, located,
modification
It is not desired sometimes ?
solution

01/16/16Friday, January

Matching
Match the space before and after
cat
cat
? Still problem

01/16/16Friday, January

Character class
Want to search in or on ..
So searching RegEx : [io]n will match in
and on both
[ ] : used to specify a set of character to
select from.
[a-h] : indicates set of all characters from a to
h
[4-9A-T]

01/16/16Friday, January

Character class
It can also contain individual
characters as : [acV5y0]
[0-9] : ?
[0-9][0-9] :?
18[0-9][0-9]:?

01/16/16Friday, January

10

Example
set of vowels
[aeiou]

set of consonents

[bcdfghjklmnpqrstvwxyz]

Consider matching words which start with 2


vowels and end with consonant
[aeiou][aeiou][bcdfghjklmnpqrstvwxyz] ?
[aeiou][aeiou][bcdfghjklmnpqrstvwxyz]

01/16/16Friday, January

11

Negation
The absence of any character or set
of character can be shown using ^
symbol

[^ab^8] : means not a , but b , but not 8


[^c-p] : means any character other than
c..p
[^t]ion : select all words ending with
ion but with not before it

01/16/16Friday, January

12

Start/End of line
^ : indicates start of line
$ : indicates end of line
Example:
search lines starting with I
Use RegEx : ^I
search lines ending ending with is
Use RegEx : is$

01/16/16Friday, January

13

match
. : Any character match
e.e : match all strings where first letter is e and
last is e.
Try e.e

If you want only words to be searched then


change the query to
e[a-z]e

01/16/16Friday, January

14

Repeated match
* : match the previous character or
character-class zero or more times
be* : will match sequence of zero or
more e preceded by b
+ : similar to *
Only difference is that it matches
sequence of one or more.

01/16/16Friday, January

15

Selecting a number
Single digit : [0-9]
When single digit is repeated zero or
more times it is a number.
(digit)repeat
[0-9]*
$[0-9]* : ?
\$[0-9]*

01/16/16Friday, January

16

Selecting a word

Word is composed of alphabets


A word is : [a-z]*
A word in all capital letters : ??
A word starting with capital letter :[
][ ]*

01/16/16Friday, January

17

Alternate match
| : symbol is used to specify
alternate match
Search: (above)|(below)

01/16/16Friday, January

18

Search
Day Words
[a-z]*day
[a-z]+day
- [A-Z][a-z]+day

01/16/16Friday, January

19

Escaping Special meaning


How to match (, ) or *
To match the characters which are
used as Metacharacter, \ is added
before them as an escape character.
i.e. to match ( write \( and to match
period . write \.

01/16/16Friday, January

20

Search patterns
has, have, had
not, nt

((have)|(had)|(has))
(( )|(n't)|( not ))*
((have)|(had)|(has))(( )|(n't)|( not ))*

01/16/16Friday, January

21

01/16/16Friday, January

22

References
Editplus help pages
http://gnosis.cx/publish/programming/regular_exp
ressions.html
OReilly - Mastering Regular Expressions
Google regular expression tutorial

01/16/16Friday, January

23

Thank you !

01/16/16Friday, January

24

You might also like