RegMatch - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


StringTools

  

RegMatch

  

determine if a string matches a regular expression

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

RegMatch(pattern, text, options)

Parameters

pattern

-

string; regular expression to match

text

-

string; text to test

options

-

(optional) name; subexpression substitution

Description

• 

The RegMatch( pattern, text ) function determines whether a string text matches the regular expression pattern.

  

If the string text matches the regular expression specified by pattern, the value true is returned. If text does not match pattern, the value false is returned.

  

Note: If the pattern argument contains syntax errors, Maple may signal an error.

• 

Up to nine names can be passed to RegMatch in the options parameter. Upon a successful match, the first of these symbols is assigned the substring of text that matches the entire regular expression pattern, and the remaining symbols are assigned the portions of text that match any parenthesized subexpressions, if any.

• 

This function is part of the StringTools package, and so it can be used in the form RegMatch(..) only after executing the command with(StringTools). However, it can always be accessed through the long form of the command by using the form StringTools[RegMatch](..).

• 

All of the StringTools package commands treat strings as (null-terminated) sequences of 8-bit (ASCII) characters.  Thus, there is no support for multibyte character encodings, such as unicode encodings.

Examples

withStringTools:

RegMatchab+bc,abc

false

(1)

RegMatchab+bc,abbc

true

(2)

RegMatchab+bc,abbbc

true

(3)

RegMatchab+bc,abbbbc

true

(4)

RegMatch^ab+bc$,abbbbc

true

(5)

RegMatch^ab+bc$,abbbbcx

false

(6)

RegMatch^ab+bc,abbbbcx

true

(7)

RegMatchab*bc,abc

true

(8)

RegMatchab*bc,abbc

true

(9)

RegMatchab*c,ac

true

(10)

RegMatchab+c,ac

false

(11)

RegMatchab|cd,abcd

true

(12)

RegMatchCanad(a|ian),Canada

true

(13)

RegMatchCanad(a|ian),Canadian

true

(14)

RegMatchCanad(a|ian),Australian

false

(15)

RegMatch.*(a|ian)$,Australian

true

(16)

The following is a Maple implementation of the `grep' text searching tool.

greppattern,filenameselectcurryRegMatch,pattern,Splitreadbytesfilename,,TEXT,\n:

grepnobody,/etc/passwd

nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin

(17)

In the following example, the matching string and substrings are assigned to names.

RegMatch.*(north|south).*(left|right).*,Drive north on the highway. Turn left at the third stoplight.,directions,CompassDirection,TurnDirection

true

(18)

directions;CompassDirection;TurnDirection

Drive north on the highway. Turn left at the third stoplight.

north

left

(19)

See Also

curry

readbytes

Regular_Expressions

select

string

StringTools

StringTools[Escape]

StringTools[RegSubs]

StringTools[Split]