Sed Regular Expressions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Special Characters (need to be escaped in regular expressions)

/
"
$ # unescaped signifies end of line 
^ # unescaped signifies the beginning of a line
!
[
]
:
* # zero or more
+ # one or more - does not seem to work for all seds.
. # dot

Non-Special Characters (do not need to be escaped in regular expressions)

<
>
(
)
!
-
{
}
+ # this is interesting, I thought '+' is a meta-character, more experimentation necessary.

Grouping

Use \( and \) for grouping. Parentheses must be escaped to be interpreted as grouping separator.


Examples

Match everything except space:

     [^ ]*
     .*

seems to work too.

Words (digits, alpha, _):

sed -e 's/[0-9a-zA-Z_]*/THIS_WAS_A_WORD/g'

Blank spaces (spaces, tabs, newlines): \s does not seem to work.

Regular Expression Syntax

TO NORMALIZE across java Regular Expression Syntax, grep Regular Expression Syntax, sed Regular Expression Syntax.