Fuzzy search functions




uGlob

Description

Compares values case sensitive and similar to uLike but uses the UNIX file globbing syntax for its wildcard characters.

Syntax

bool uGlob(pattern, text)

Parameters

string pattern

A string describing a match pattern.

string text

A string to investigate.

Examples

Example 1

To compare values using UNIX file-globbing syntax:

uGlob("Mr. *", "Mr. Smith")    // returns 1, indicating a match
uGlob("Mr. *", "Mrs. Clarke")  // returns 0



uLike

Description

Performs a pattern-matching comparison. The first parameter contains the pattern, and the second parameter contains the string to match against the pattern. A percent symbol ( % ) in the pattern matches any sequence of zero or more characters in the string. An underscore ( _ ) in the pattern matches any single character in the string. Any other character matches itself or its lowercase or uppercase equivalent (in other words, not case-sensitive matching).

NoteCurrently uLike only understands uppercase and lowercase for 7-bit Latin characters; thus the uLike is case sensitive for 8-bit iso8859 characters or UTF-8 characters. For example:

uLike('a' ,'A') is 1
uLike('æ' ,'Æ') is 0

Syntax

number uLike(pattern, text)

Parameters

string pattern

A string describing a match pattern.

string text

A string to investigate.

Examples

Example 1

To compare values using pattern-matching:

uLike("% happy %", "A happy man.")    // returns 1
uLike("% happy %", "A sad man.")      // returns 0



uMatches

Description

Returns true if a given string matches a regular expression.

Syntax

number uMatches(input, regexpr)

Parameters

string text

A string to investigate.

string regexpr

Regular expression specification.

Examples

Example 1

To verify that a string can be interpreted as a floating number:

uMatches("abc","[-+]?[0-9]*\.?[0-9]*")  // return 0uMatches("1.23","[-+]?[0-9]*\.?[0-9]*")  // return 1