Regex - Javascript
- Basic
variable =/value/
=> Regular expression
/value/g
=> Make it global, Functions run for all matched values
/value/i
=> Makes it cases insensitive
variable.source
=> Returns var
variable.exec(S)
=> Returns the matched value, index, input, length as an object
variable.test(S)
=> Returns boolean value true if value is present
S.match(variable)
=> Returns array of values matched or null
S.search(variable)
=> Returns index of first match else -1
S.replace(variable, "value")
=> Returns new string with replaced values
- Meta-characters
- $, ^, ., *, ?, +, *, /, ., +
- Character Sets
/va[abc]ue/
=> Match if in place of l it contains a, b, c
/va[a-z]ue/
=> Match if in place of l it contains a to z
/va[^abc]ue/
=> Match if in place of l it does not contains a, b, c
/va[0-9]ue/
/va[A-Z]ue/
/[a-z]a[0-9]u[A-Z]/
=> We can add many Character sets
- Quantifiers
/val{n}ue/
=> Match if l comes exactly n times
/val{n1,n2}ue/
=> Match if l comes n1 to n2 times
- Groupings
/(val){2}ue/
=> Match if val comes 2 times
- Character Classes
/va\wue/
=> Matches if in place of l we have [A-Za-z0-9_], \W for opposite
/va\due/
=> Matches if in place of l we have [0-9_]
, \D for opposite
/va\sue/
=> Matches if in place of l we have [^ \t\r\n\f\v]
, \S for opposite, \b for word boundary
- Assertion
/v(?=a)lue/
=> Match only if a is after v
/v(?!a)lue/
=> Match only if a not after v