regexpIndex()
The function "regexpIndex()" provides pattern matching via regular expressions. The function searches for a match of the specified character starting from the given position.
Synopsis
int regexpIndex(string regexp, string line [, mapping options]);
Parameter | Description |
---|---|
rexexp |
The regular expression. For allowed characters, see http://doc.qt.io/qt-4.8/qregexp.html#capturedTexts under "Characters and Abbreviations for Sets of Characters". An example would be, e.g., "[a]+" This example searches for the character a. The + sign searches the letter one or more times meaning the + sign stands for at least one-time repetition. |
line | The string that is checked. |
options |
For the mapping the following keys can be used: startPosition: Set the start position for the search: (Default: int 0 = Start of the string). -1 means that the function searches for the characters starting at the last character of the string. With -2 the function searches starting at the next to last character etc. caseSensitive: Set Case Sensitive matching (Default: bool false). Set minimal matching (Default: bool false). for an example of minimal matching, see chapter regexpSplit(). |
Return value
-
The function returns the position of the first match of the searched character. The index starts at 0. This means that the first match of the character s in the word "This" would be the position 3.
-
The function returns -1 if no match was found.
-
The function returns -2 when the regular expression contains an error. Errors can be retrieved by using the function getLastError().
-
The function returns -3 when the function contains wrong arguments.
Error
See above
Description
The function "regexpIndex()" provides pattern matching via regular expressions. The function searches for a match of the specified character starting from the given position.
Example
The first example searches for the letter n starting from the position 0 (Start of the text). The function returns the first match of the letter. The first match of the letter n is ein (Das ist ein Test mit n). The index is calculated starting from 0. Thus, the example returns 10.
The second example searches for the letter n starting from the end of the text. The function returns the first match of the letter. The first match of the letter n, starting from the end of the text is n (Das ist ein Test mit n). The index is calculated starting from 0. Thus, the example returns 21.
main(mapping event)
{
int i = 0;
i = regexpIndex("[n]+", "Das ist ein Test mit n", makeMapping("startPosition", 0));
DebugN("Position von 'n' in Das ist ein Test mit n. Gesucht ab Position 0:", i);
i = regexpIndex("[n]+", "Das ist ein Test mit n", makeMapping("startPosition", -1));
DebugN("Position von 'n' in Das ist ein Test mit n. Gesucht ab Ende der Zeichenkette:", i);
}
Assignment
Regular expressions