StringExpression
Usage
• ~~ ~~ ... or StringExpression[ , , ... ] represents a sequence of strings and symbolic string objects .
Notes
• " " ~~ " " ~~ ... yields an ordinary string obtained by concatenating the characters in the " ". • The following objects can appear in StringExpression:
| "string" | a literal string of characters | | _ | any single character | | __ | any substring of one or more characters | | ___ | any substring of zero or more characters | | x_, x__, x___ | substrings given the name x | | x:pattern | pattern given the name x | | pattern.. | pattern repeated one or more times | | pattern... | pattern repeated zero or more times | { , , ... } or | | ... | a pattern matching at least one of the | | patt /; cond | a pattern for which cond evaluates to True | | pattern ? test | a pattern for which test yields True for each character | | Whitespace | a sequence of whitespace characters | | NumberString | the characters of a number | | charobj | an object representing a character class (see below) | | RegularExpression["regexp"] | substring matching a regular expression | | StringExpression[... ] | an arbitrary string expression |
• The following represent classes of characters:
{" ", " ", ... } | any of the " " | Characters[" ... "] | any of the " " | CharacterRange[" ", " "] | any character in the range " " to " " | | DigitCharacter | digit 0-9 | | LetterCharacter | letter | | WhitespaceCharacter | space, newline, tab or other whitespace character | | WordCharacter | letter or digit | | Except[p] | any character except ones matching p |
• The following represent positions in strings:
| StartOfString | start of the whole string | | EndOfString | end of the whole string | | StartOfLine | start of a line | | EndOfLine | end of a line | | WordBoundary | boundary between word characters and others | | Except[WordBoundary] | anywhere except a word boundary |
• When constructs like __ or .. are present, there may be several different ways in which a given StringExpression can match a particular string. • By default, Mathematica will use the one that makes pattern elements that appear earlier in the StringExpression match the longest possible substrings. • The following determine which match will be used if there are several possibilities:
| ShortestMatch[p] | the shortest consistent match for p | | LongestMatch[p] | the longest consistent match for p (default) |
• In matching ordinary expressions instead of strings, the shortest instead of the longest consistent match is used. • New in Version 5.1.
|