Sed Regular Expressions: Difference between revisions
Jump to navigation
Jump to search
Line 45: | Line 45: | ||
=Negation= | =Negation= | ||
Match everything except the specified characters: | Match everything except the specified characters. More than one characters is matched (this behavior is different from the [[Bash_Patterns#Negation|behavior of bash patterns on negation]]): | ||
<syntaxhighlight lang='text'> | <syntaxhighlight lang='text'> | ||
[^abc]* | [^abc]* |
Revision as of 04:36, 5 January 2021
Internal
Meta-Characters - Special Characters (need to be escaped in regular expressions)
/ " $ # unescaped signifies end of line ^ # unescaped signifies the beginning of a line ! [ ] : * # zero or more . # dot
Single quote is a special case, to match it use its ASCII hexadecimal value prefixed by \x as follows, instead of escaping it:
\x27
To use () for grouping, they need to be escaped:
\(...\)
More details in Grouping below.
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.
Negation
Match everything except the specified characters. More than one characters is matched (this behavior is different from the behavior of bash patterns on negation):
[^abc]*
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.