CSID Matching Rules

Joyfax Server will use pattern matching against the calling fax machine's CSID(Called Subscriber Identification) to determine the destination user to which to forward the fax. The following table shows the characters allowed in pattern and what they match. CSID comparison is case insensitive, see Example below.

 Characters in pattern Matches in string
 ?  Any single character
 *  Zero or more characters
 #  Any single digit (0–9)
 [ charlist ]  Any single character in charlist
 [! charlist ]  Any single character not in charlist

Character Lists

A group of one or more characters (charlist) enclosed in brackets ([ ]) can be used to match any single character in string and can include almost any character code, including digits.

An exclamation point (!) at the beginning of charlist means that a match is made if any character except the characters in charlist is found in string. When used outside brackets, the exclamation point matches itself.

Special Characters

To match the special characters left bracket ([), question mark (?), number sign (#), and asterisk (*), enclose them in brackets. The right bracket (]) cannot be used within a group to match itself, but it can be used outside a group as an individual character.

The character sequence [] is considered a zero-length string (""). However, it cannot be part of a character list enclosed in brackets.

Character Ranges

By using a hyphen () to separate the lower and upper bounds of the range, charlist can specify a range of characters. For example, [A–Z] results in a match if the corresponding character position in string contains any character within the range A–Z, and [!H–L] results in a match if the corresponding character position contains any character outside the range H–L.

When you specify a range of characters, they must appear in ascending sort order, that is, from lowest to highest. Thus, [A–Z] is a valid pattern, but [Z–A] is not.

Multiple Character Ranges

To specify multiple ranges for the same character position, put them within the same brackets without delimiters. For example, [A–CX–Z] results in a match if the corresponding character position in string contains any character within either the range A–C or the range X–Z.

Usage of the Hyphen

A hyphen () can appear either at the beginning (after an exclamation point, if any) or at the end of charlist to match itself. In any other location, the hyphen identifies a range of characters delimited by the characters on either side of the hyphen.

Digraph Characters

In some languages, there are alphabetic characters that represent two separate characters. For example, several languages use the character æ to represent the characters a and e when they appear together. Joyfax Server recognizes that the single digraph character and the two individual characters are equivalent.

When a language that uses a digraph character is specified in the system locale settings, an occurrence of the single digraph character in either pattern or string matches the equivalent two-character sequence in the other string. Similarly, a digraph character in pattern enclosed in brackets (by itself, in a list, or in a range) matches the equivalent two-character sequence in string.


 CSID  Patterns Match (True/False)
 a*a  True
 [a-z]Joy8Fax[!a-c]  False
 aJoy#FaxA  True
 [a-z]joy#Fax[a-z]  True
 aJoy?FaxA  True
 aBoy?FaxA  False
Copyright © by Joyfax Software, all right reserved.