58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
/// @addtogroup regex Regex
|
|
/// @brief Provide regular expression functions.
|
|
/// @{
|
|
/// @file nwnx_regex.nss
|
|
#include "nwnx"
|
|
|
|
const string NWNX_Regex = "NWNX_Regex"; ///< @private
|
|
|
|
/// @param str The string to search.
|
|
/// @param regex The regular expression to use when searching.
|
|
/// @return TRUE if string matches the regular expression.
|
|
int NWNX_Regex_Search(string str, string regex);
|
|
|
|
/// @brief Replaces any matches of the regular expression with a string.
|
|
/// @param str The string to search.
|
|
/// @param regex The regular expression to use when searching.
|
|
/// @param replace The string to replace the matches with.
|
|
/// @param firstOnly Set to TRUE to only replace the first match.
|
|
/// @return A new string with any replacements made.
|
|
string NWNX_Regex_Replace(string str, string regex, string replace = "", int firstOnly = FALSE);
|
|
|
|
/// @brief Returns all matches in a string that match the regular expression.
|
|
/// @param str The string to search.
|
|
/// @param regex The regular expression to use.
|
|
/// @return A json array with json arrays of all (sub)matches. Returns JsonNull() on error.
|
|
json NWNX_Regex_Match(string str, string regex);
|
|
|
|
/// @}
|
|
|
|
int NWNX_Regex_Search(string str, string regex)
|
|
{
|
|
string sFunc = "Search";
|
|
NWNX_PushArgumentString(regex);
|
|
NWNX_PushArgumentString(str);
|
|
NWNX_CallFunction(NWNX_Regex, sFunc);
|
|
return NWNX_GetReturnValueInt();
|
|
}
|
|
|
|
string NWNX_Regex_Replace(string str, string regex, string replace="", int firstOnly=0)
|
|
{
|
|
string sFunc = "Replace";
|
|
NWNX_PushArgumentInt(firstOnly);
|
|
NWNX_PushArgumentString(replace);
|
|
NWNX_PushArgumentString(regex);
|
|
NWNX_PushArgumentString(str);
|
|
NWNX_CallFunction(NWNX_Regex, sFunc);
|
|
return NWNX_GetReturnValueString();
|
|
}
|
|
|
|
json NWNX_Regex_Match(string str, string regex)
|
|
{
|
|
string sFunc = "Match";
|
|
NWNX_PushArgumentString(regex);
|
|
NWNX_PushArgumentString(str);
|
|
NWNX_CallFunction(NWNX_Regex, sFunc);
|
|
return NWNX_GetReturnValueJson();
|
|
}
|