[Solved] Where to start to learn regular expressions? [closed]


Your question will be closed as it’s not a real question but you’ll find a lot documentation about regular expression (abbreviated regex or regexp) on Internet and on StackOverflow but here a beginning.

Following information comes from Wikipedia
http://regexone.com will help you learning regex with lessons.


Metacharacters:

. matches any single character
For example a.c matches “abc”, etc., but [a.c] matches only “a”, “.”, or “c”.

[ ] matches a single character that is contained within the brackets
For example, [abc] matches “a”, “b”, or “c”. [a-z] specifies a range which matches any lowercase letter from “a” to “z”. These forms can be mixed: [abcx-z] matches “a”, “b”, “c”, “x”, “y”, or “z”, as does [a-cx-z].

[^ ] matches a single character that is not contained within the brackets
For example, [^abc] matches any character other than “a”, “b”, or “c”. [^a-z] matches any single character that is not a lowercase letter from “a” to “z”.

^ matches the starting position within the string. In line-based tools, it matches the starting position of any line.

$ matches the ending position of the string or the position just before a string-ending newline. In line-based tools, it matches the ending position of any line.

( ) defines a marked subexpression. The string matched within the parentheses can be recalled later (see the next entry, \n).

\n matches what the nth marked subexpression matched, where n is a digit from 1 to 9.

* matches the preceding element zero or more times
For example, ab*c matches “ac”, “abc”, “abbbc”, etc. [xyz]* matches “”, “x”, “y”, “z”, “zx”, “zyx”, “xyzzy”, and so on. (ab)* matches “”, “ab”, “abab”, “ababab”, and so on.

{m,n} matches the preceding element at least m and not more than n times
For example, a{3,5} matches only “aaa”, “aaaa”, and “aaaaa”. This is not found in a few older instances of regular expressions. BRE mode requires {m,n}.


Examples:

  • .at matches any three-character string ending with “at”, including “hat”, “cat”, and “bat”.
  • [hc]at matches “hat” and “cat”.
  • [^b]at matches all strings matched by .at except “bat”.
  • [^hc]at matches all strings matched by .at other than “hat” and “cat”.
  • ^[hc]at matches “hat” and “cat”, but only at the beginning of the string or line.
  • [hc]at$ matches “hat” and “cat”, but only at the end of the string or line.
  • [.] matches any single character surrounded by “[” and “]” since the brackets are escaped, for example: “[a]” and “[b]”.

solved Where to start to learn regular expressions? [closed]