Additional Syntax Specs

C Styled Script
Reference Manual

<< Back  End  Next >>
 
 
INDEX
Introduction
Installation
Using The CSS Executive
Language
Directives
System Library
String Library
Regular Expression Lib.
   Basic Matching Rules
   Additional Syntax Specs
   Order Of Precedence
   rexClose
   rexMatch
   rexOpen
   Sample
File Library
Database Library
C API
C++ API
CSS Links
  

You can also use other syntax within an RE to control what it matches:

\(expression\)
Matches whatever expression matches. You only need to enclose an expression in these delimiters to use operators (such as * or +) on it and to denote subexpressions for backreferencing (explained later in this section). For EREs, use the parentheses without the backslashes: (subexpression)

\n
Matches the same string that was matched by the nth preceding expression enclosed in \( \) or, for EREs, ( ). This is called a backreference. n can be 1 through 9. For example, \(ab\)\1 matches abab, but does not match ac. If fewer than n subexpressions precede \n, the backreference is not valid.

NOTE: You cannot use backreferences in EREs.
expression* 
Matches zero or more consecutive occurrences of what expression matches. expression can be a single character or collating symbol, a subexpression, or a backreference (for BREs). For example, [ab]* matches ab and ababab; b*cd matches characters 3 to 7 of cabbbcdeb.

expression\{m\}
Matches exactly m occurrences of what expression matches. expression can be a single character or collating symbol, a subexpression, or a backreference (for BREs). For example, c\{3\} matches characters 5 through 7 of ababccccd (the first 3 c characters only). For EREs, use the braces without the backslashes: {m}

expression\{m,\}
Matches at least m occurrences of what expression matches. expression can be a single character or collating symbol, a subexpression, or a backreference (for BREs). For example, \(ab\)\{3,\} matches abababab, but does not match ababac. For EREs, use the braces without the backslashes: {m,}

expression\{m,u\}
Matches any number of occurrences, between m and u inclusive, of what expression matches. expression can be a single character or collating symbol, a subexpression, or a backreference (for BREs). For example, bc\{1,3\} matches characters 2 through 4 of abccd and characters 3 through 6 of abbcccccd For EREs, use the braces without the backslashes: {m,u}

^expression
Matches only sequences that match expression that start at the first character of a string or after a new-line character if the rexOpenNewline flag was specified. For example, ^ab matches ab in the string abcdef, but does not match it in the string cdefab. The expression can be the entire RE or any subexpression of it.

expression$ 
Matches only sequences that match expression that end the string or that precede the new-line character if the rexOpenNewline flag was specified. For example, ab$ matches ab in the string cdefab but does not match it in the string abcdef. The expression must be the entire RE.

^expression$
Matches only an entire string, or an entire line if the rexOpenNewline flag was specified. For example, ^abcde$ matches only abcde.

In addition to those listed above, you can also use the following specifiers for EREs (they are not valid for BREs):

expression+
Matches what one or more occurrences of expression matches. For example, a+(bc) matches aaaaabc; (bc)+ matches characters 1 through 6 of bcbcbcbb.

expression?
Matches zero or one consecutive occurrences of what expression matches. For example, b?c matches character 2 of acabbb (zero occurrences of b followed by c).

expression|expression
Matches a string that matches either expression. For example, a((bc)|d) matches both abc and ad.
 Copyright © IBK LandquartLast revised by Peter Koch, 24.02.00<< Back  Top  Next >>