How to Use Regular Expressions (regex) on Linux

RECOMMENDED: Click here to fix Windows errors and optimize system performance

You wonder what these strange series of symbols do under Linux? They give you command line magic! We teach you how to cast spells with regular expressions and improve your command line skills.

What are Regular Expressions?

Regular expressions are similar to the wildcards we discussed in Section 7, and they allow us to create a pattern. However, they are more powerful. Regular expressions are generally used to identify and manipulate certain data. For example, we might want to identify each line that contains an email address or url in a record.

Regex are used everywhere. We will show them here using grep, but many other programs use them (including sed and vi, which you heard about in the previous sections), and many programming languages use them as well.

With this incredible tool, you can do it:

  • Validate text input
  • Finding (and replacing) text in a file
  • Batch file renaming
  • Incredibly powerful file search
  • Interaction with servers like Apache
  • Test for patterns in strings
  • And much more

April 2021 Update:

We now recommend using this tool for your error. Additionally, this tool fixes common computer errors, protects you against file loss, malware, hardware failures and optimizes your PC for maximum performance. You can fix your PC problems quickly and prevent others from happening with this software:

  • Step 1 : Download PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista – Microsoft Gold Certified).
  • Step 2 : Click “Start Scan” to find Windows registry issues that could be causing PC problems.
  • Step 3 : Click “Repair All” to fix all issues.


Regex Versions

There are three versions of the regular expression syntax:

  • BRE: Basic regular expressions
  • ERE: Extended Regular Expressions
  • PRCE: Regular Expressions of Perl

Depending on the tool or program, one or more of these versions can be used.

What Makes Regular Expressions

There are two types of characters that appear in regular expressions:

  • Literal characters
  • Meta-character

Literal characters are standard characters that make up your strings. Each character in this set is a literal character. You can use a regular expression to search for each literal character in this string.

Metacharacters are a very different animal; they are what give regular expressions their power. With metacharacters, you can do much more than just search for a single character. With metacharacters, you can search for combinations of strings and much more. The list of metacharacters for regular expressions is as follows

Indicates that the following character is either a special character, a literal reference, a back reference, or an octal escape character.

^ Displays the beginning of an input string

$ Indicates the end of an input string.

+ Specifies that the previous subexpression should be adjusted zero or more times.

* Specifies that the previous sub-expression should be matched one or more times

? Indicates that the previous sub-expression should be adjusted to zero or once.

{n} corresponds exactly to n times (where n is a non-negative integer)

{n,} Matches at least n times (where n is a non-negative integer)

{n,m} correspond at least to n and at most to m times (where m and n are non-negative integers and n <= m)

. Suitable for all characters except the “n”.

xyz] Matches one of the attached characters.

x|y Corresponds to x or y

[^xyz] Corresponds to any character not included

a-z] Matches any character in the specified range.

^a-z] Matches any character that is not in the specified range.

b Matches a word boundary (position between a word and a space).

B Corresponds to a non-verbal boundary (example: “uxB” corresponds to “ux” in “tuxedo”, but not to “ux” in “Linux”)

d Corresponds to a number

D Corresponds to a non-numeric character

f Corresponds to a form flow character

n Corresponds to a linefeed character.

r Corresponds to a carriage return character.

s Corresponds to any space (including spaces, tabs, form feeds, etc.).

S Corresponds to any non-spatial character

t Corresponds to a tab character

v Corresponds to a vertical tab character.

w Corresponds to any word mark, including the underline

W Corresponds to each non-verbal character

a Corresponds to n, where n is a Unicode character expressed as four hexadecimal digits (e.g. u0026 for the Ampersand symbol)

RECOMMENDED: Click here to troubleshoot Windows errors and optimize system performance