| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- // Pawn.Regex plugin by urShadow
-
- #if !defined __cplusplus
- #if defined _pawnregex_included
- #endinput
- #endif
- #define _pawnregex_included
- #endif
- #define PAWNREGEX_INCLUDE_VERSION 112
- enum E_REGEX_GRAMMAR
- {
- REGEX_ECMASCRIPT, // ECMAScript grammar
- REGEX_BASIC, // Basic POSIX grammar
- REGEX_EXTENDED, // Extended POSIX grammar
- REGEX_AWK, // Awk POSIX grammar
- REGEX_GREP, // Grep POSIX grammar
- REGEX_EGREP // Egrep POSIX grammar
- };
- enum E_REGEX_FLAG
- {
- REGEX_DEFAULT = 1 << 0, // Default flag
- REGEX_ICASE = 1 << 1, // Regular expressions match without regard to case
- REGEX_NOSUBS = 1 << 2, // The match_results structure will not contain sub-expression matches.
- REGEX_OPTIMIZE = 1 << 3, // Matching efficiency is preferred over efficiency constructing regex objects.
- REGEX_COLLATE = 1 << 4, // Character ranges, like "[a-b]", are affected by locale.
- };
- enum E_MATCH_FLAG
- {
- MATCH_DEFAULT = 1 << 0, // Default matching behavior.
- MATCH_NOT_BOL = 1 << 1, // The first character is not considered a beginning of line ("^" does not match).
- MATCH_NOT_EOL = 1 << 2, // The last character is not considered an end of line ("$" does not match).
- MATCH_NOT_BOW = 1 << 3, // The escape sequence "\b" does not match as a beginning-of-word.
- MATCH_NOT_EOW = 1 << 4, // The escape sequence "\b" does not match as an end-of-word.
- MATCH_ANY = 1 << 5, // Any match is acceptable if more than one match is possible.
- MATCH_NOT_NULL = 1 << 6, // Empty sequences do not match.
- MATCH_CONTINUOUS = 1 << 7, // The expression must match a sub-sequence that begins at the first character.
- // Sub-sequences must begin at the first character to match.
- MATCH_PREV_AVAIL = 1 << 8, // One or more characters exist before the first one. (MATCH_NOT_BOL and MATCH_NOT_BOW are ignored)
- MATCH_FORMAT_SED = 1 << 9, // Uses the same rules as the sed utility in POSIX to replace matches.
- MATCH_FORMAT_NO_COPY = 1 << 10, // The sections in the target sequence that do not match the regular expression
- // are not copied when replacing matches.
- MATCH_FORMAT_FIRST_ONLY = 1 << 11, // Only the first occurrence of a regular expression is replaced.
- };
- #if !defined __cplusplus
- public _pawnregex_version = PAWNREGEX_INCLUDE_VERSION;
- #pragma unused _pawnregex_version
- native Regex:Regex_New(const pattern[], E_REGEX_FLAG:flags = REGEX_DEFAULT, E_REGEX_GRAMMAR:grammar = REGEX_ECMASCRIPT) = regex_new;
- native Regex_Delete(&Regex:r) = regex_delete;
- native Regex_Check(const str[], Regex:r, E_MATCH_FLAG:flags = MATCH_DEFAULT) = regex_check;
- native Regex_Match(const str[], Regex:r, &RegexMatch:m, E_MATCH_FLAG:flags = MATCH_DEFAULT) = regex_match;
- native Regex_Search(const str[], Regex:r, &RegexMatch:m, &pos, startpos = 0, E_MATCH_FLAG:flags = MATCH_DEFAULT) = regex_search;
- native Regex_Replace(const str[], Regex:r, const fmt[], dest[], E_MATCH_FLAG:flags = MATCH_DEFAULT, size = sizeof dest) = regex_replace;
- native Match_GetGroup(RegexMatch:m, index, dest[], &length, size = sizeof dest) = match_get_group;
- native Match_Free(&RegexMatch:m) = match_free;
- #pragma deprecated
- native regex:regex_new(const pattern[], E_REGEX_FLAG:flags = REGEX_DEFAULT, E_REGEX_GRAMMAR:grammar = REGEX_ECMASCRIPT);
- #pragma deprecated
- native regex_delete(®ex:r);
- #pragma deprecated
- native regex_check(const str[], regex:r, E_MATCH_FLAG:flags = MATCH_DEFAULT);
- #pragma deprecated
- native regex_match(const str[], regex:r, &match_results:m, E_MATCH_FLAG:flags = MATCH_DEFAULT);
- #pragma deprecated
- native regex_search(const str[], regex:r, &match_results:m, &pos, startpos = 0, E_MATCH_FLAG:flags = MATCH_DEFAULT);
- #pragma deprecated
- native regex_replace(const str[], regex:r, const fmt[], dest[], E_MATCH_FLAG:flags = MATCH_DEFAULT, size = sizeof dest);
- #pragma deprecated
- native match_get_group(match_results:m, index, dest[], &length, size = sizeof dest);
- #pragma deprecated
- native match_free(&match_results:m);
- #endif
|