How to use Regular expression (regex) in Bash?

Bash Liste Des Attaques Ovh

About

This article shous you how to use regular expression in Bash

Example

Conditional

tomatch='/php-status?full&json'
[[ "$tomatch" =~ '/php-status' ]] && echo match || echo does not match
[[ ! "$tomatch" =~ 'not' ]] && echo does not match || echo does match

Group Capture

This example shows you how you can capture a Group to extract text.

Example where we will extract a part of a file name

fileName="helloWorld.jpg"

# The regular expression starts with $' and ends with '
regex=$'(.*)\.jpg'

# double bracket is mandatory to use the regular expression operators
if [[ $fileName =~ $regex ]]
then
	name="${BASH_REMATCH[1]}"
	echo ${name}
else
	echo "$fileName doesn't match" 
fi

How it works? With the Bash Binary operator

When the regexp binary operator =~ is used, the string to the right of the operator is considered an extended regular expression and matched accordingly.

The operator has the same precedence as == and !=

The return value is:

  • 0 if the string matches the pattern
  • 2 if the regular expression is syntactically incorrect
  • 1 otherwise.

Others:

  • If the shell option nocasematch is enabled, the match is performed without regard to the case of alphabetic characters.
  • Any part of the pattern may be quoted to force it to be matched as a string.
  • Capturing group are saved in the BASH_REMATCH variable.

Glob

Note that pathname expansion use globbing as well as the control flow structure such as case

1)





Discover More
Bash Liste Des Attaques Ovh
Bash - Case

The case control statement execute commands based on regular expression pattern matching. Initscript example: Selectively execute COMMANDS based upon WORD matching glob PATTERN. The | is used to...
Bash Liste Des Attaques Ovh
Bash - Password

password in bash Snippet to test the complexity of the password with: regexp and the and && operator
Bash Liste Des Attaques Ovh
How to use the Array Variable in Bash?

Bash provides a one-dimensional array variables. See also: When calling a function, quote the variable otherwise bash will not see the string as atomic. The separator is variable $IFS. There is: ...
Bash Liste Des Attaques Ovh
Sh - String Variable

String Variable, see also character string in bash. When calling a function, quote the variable otherwise bash will not see the string as atomic but as an array Sh with Bash “” The...



Share this page:
Follow us:
Task Runner