REGULAR EXPRESSIONS ------------------- Regular expressions are placed between a pair of forward slashes: /abba/ ---------------------The Basics (example) --------------------- abba matches the first occurence of this four character string in the line "yabba dabba do". ---------Metacharacters (special characters)--------- . matches any single character except newline \ used to escape special characters \\ use two backslashes to indicate a real backslash * match the preceding item (except newline) zero or more times + match the preceding item (except newline) one or more times .* matches anything, any length (except newline) ? match the preceding item (except newline) zero or one times only /a{5,15}/ match only five to fifteen repetitions of the letter a /a{5,15}/ match five or more repetitions of the letter a /a{5}/ match exactly five repetitions of the letter a /\w{8}/ match exactly eight word characters /(fred)+/ matches the pattern "fred" one or more times /fred|barney|betty/ matches fred or barney or betty /fred( |\t)+barney/ matches fred and barney separated by one or more spaces or tabs or a mixture of both /fred( +|\t+)barney/ matches fred and barney separated by one or more spaces or tabs but not a mixture of both ---------CHARACTER CLASS SHORTCUTS--------- /CA[A-P]/ matches CA followed by a single character in the character class A to P. CAB will match, CAR will not. /CA[^A-P]/ matches CA followed by a single character NOT in the character class A to P. CAB will not match but CAR will. /[0-9]/ same as /[\d]/ /[A-Za-z0-9]/ same as /[\w]/ (also includes underscores) /[\s]/ same as /[\f\t\n\r ]/ (form-feed, tab, newline, return and space) /[^\d]/ same as /^[0-9]/ matches anything except 0 - 9 /[^\w]/ same as /[^A-Za-z0-9]/ matches anything except numbers, letters and underscores /[^\s]/ same as /[^\f\t\n\r ]/ matches anything except whitespace characters. /[\dA-Fa-f]+/ matches hexadecimal numbers /[\d\D]/ matches any character including newline /[^\d\D]/ matches nothing /^fred/ match fred only at the start of the string /rock$/ match rock only at the end of the string (or at a newline at the end of the string) /^\s*$/ match any blank line including those with whitespace (form-feed, tab, newline, etc.) /\bfred\b/ matches the word fred but not frederick or alfred or manfred mann /\bhunt/ match words like hunt or hunting or hunter, but not shunt. /stone\b/ match words like sandstone or flintstone but not capstones. /\bsearch\B/ matches at any point where \b would not match. Matches searches, searching, and searched but not search, research or researching. /(.)\1/ match any character followed by the same character (memory parenthesis) /((go|stop) (team|car)) \1/ matches "go team go team" or "stop team stop team" or "go car go car" /((go|stop) (team|car)) \2/ matches "go team go" or "stop team stop" or "stop car stop" /((go|stop) (team|car)) \3/ matches "go team team" or "stop team team" or "go car car" ---------Operator Precedence--------- Parentheses ( ) Quantifiers asterisk (*), plus (+), question mark (?), curly braces {5,15}, {3,}, and {5} Anchors and sequence caret (^), dollar-sign ($), the \b word-boundary anchor, the \B nonword-boundary anchor Vertical bar (|)