Annotation of coherent/d/usr/bin/elvis/doc/regexp.doc, revision 1.1.1.1

1.1       root        1: 
                      2:      Elvis 1.4               REGULAR EXPRESSIONS                Page 4-1
                      3: 
                      4: 
                      5: E4.  REGULAR EXPRESSIONSF
                      6: 
                      7:         Elvis uses regular expressions for searching and substututions.  
                      8: 
                      9: 
                     10:    E4.1  SyntaxF
                     11: 
                     12:         Elvis' regexp package treats the following one- or two-character 
                     13:      strings (called meta-characters) in special ways: 
                     14: 
                     15:                 \( \)   Used to delimit subexpressions
                     16:                 ^       Matches the beginning of a line
                     17:                 $       Matches the end of a line
                     18:                 \<      Matches the beginning of a word
                     19:                 \>      Matches the end of a word
                     20:                 [ ]     Matches any single character inside the brackets
                     21:                 *       The preceding may be repeated 0 or more times
                     22:                 \+      The preceding may be repeated 1 or more times
                     23:                 \?      The preceding is optional
                     24: 
                     25:         Anything  else is treated as a normal character which must match
                     26:      exactly.  The special strings may all be preceded by a backslash to 
                     27:      force them to be treated normally.  
                     28: 
                     29: 
                     30:    E4.2  OptionsF
                     31: 
                     32:         Elvis has two options which affect the way  regular  expressions
                     33:      are used.    These  options  may  be  examined  or set via the :set
                     34:      command.  
                     35: 
                     36:         The first option is called  "[no]magic".    This  is  a  boolean
                     37:      option, and  it is "magic" (TRUE) by default.  While in magic mode,
                     38:      all of the meta-characters behave as described above.   In  nomagic
                     39:      mode, only ^ and $ retain their special meaning.  
                     40: 
                     41:         The second option is called "[no]ignorecase".  This is a boolean 
                     42:      option, and  it  is  "noignorecase"  (FALSE)  by default.  While in
                     43:      ignorecase mode,  the  searching  mechanism  will  not  distinguish
                     44:      between an   uppercase   letter   and   its  lowercase  form.    In
                     45:      noignorecase mode, uppercase and lowercase  are  treated  as  being
                     46:      different.  
                     47: 
                     48:         Also, the "[no]wrapscan" option affects searches.  
                     49: 
                     50: 
                     51:    E4.3  SubstitutionsF
                     52: 
                     53:         The :s command has at least two arguments: a regular expression, 
                     54:      and a  substitution  string.    The  text  that matched the regular
                     55:      expression  is  replaced  by  text  which  is  derived   from   the
                     56:      substitution string.  
                     57: 
                     58: 
                     59: 
                     60: 
                     61: 
                     62: 
                     63: 
                     64: 
                     65: 
                     66: 
                     67: 
                     68:      Elvis 1.4               REGULAR EXPRESSIONS                Page 4-2
                     69: 
                     70: 
                     71:         Most  characters  in the substitution string are copied into the
                     72:      text literally but a few have special meaning: 
                     73: 
                     74:         &       Insert a copy of the original text
                     75:         ~       Insert a copy of the previous replacement text
                     76:         \1      Insert a copy of that portion of the original text which
                     77:                 matched the first set of \( \) parentheses.
                     78:         \2 - \9 Does the same for the second (etc.) pair of \( \).
                     79:         \U      Convert all chars of any later &, ~, or \# to uppercase
                     80:         \L      Convert all chars of any later &, ~, or \# to lowercase
                     81:         \E      End the effect of \U or \L
                     82:         \u      Convert the first char of the next &, ~ or \# to uppercase
                     83:         \l      Convert the first char of the next &, ~ or \# to lowercase
                     84: 
                     85:         These may be preceded by a backslash to force them to be treated 
                     86:      normally.  If "nomagic" mode is in effect, then &  and  ~  will  be
                     87:      treated normally, and you must write them as \& and \~ form them to 
                     88:      have special meaning.  
                     89: 
                     90: 
                     91:    E4.4  ExamplesF
                     92: 
                     93:         This example changes every occurence of "utilize" to "use": 
                     94: 
                     95:             :%s/utilize/use/g
                     96: 
                     97:         This  example deletes all whitespace that occurs at the end of a
                     98:      line anywhere in the file.  (The brackets contain  a  single  space
                     99:      and a single tab.): 
                    100: 
                    101:             :%s/[   ]\+$//
                    102: 
                    103:         This example converts the current line to uppercase: 
                    104: 
                    105:             :s/.*/\U&/
                    106: 
                    107:         This  example  underlines  each  letter  in the current line, by
                    108:      changing it into an "underscore backspace letter" sequence.    (The
                    109:      ^H is entered as "control-V backspace".): 
                    110: 
                    111:             :s/[a-zA-Z]/_^H&/g
                    112: 
                    113:         This  example  locates  the  last colon in a line, and swaps the
                    114:      text before the colon with the text after the colon.  The first  \(
                    115:      \)  pair  is  used to delineate the stuff before the colon, and the
                    116:      second pair delineates the stuff after.  In the substitution  text,
                    117:      \1 and \2 are given in reverse order, to perform the swap: 
                    118: 
                    119:             :s/\(.*\):\(.*\)/\2:\1/
                    120: 
                    121: 
                    122: 
                    123: 
                    124: 
                    125: 
                    126: 
                    127: 
                    128: 
                    129: 
                    130: 
                    131: 
                    132: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.