1
0
Fork 0

renamed REGEX to REGEX_MATCH

This commit is contained in:
Jan Steemann 2016-06-06 17:58:16 +02:00
parent 96061c18ba
commit 1cda48bfc2
6 changed files with 31 additions and 31 deletions

View File

@ -267,9 +267,9 @@ RANDOM_TOKEN(8) // "zGl09z42"
RANDOM_TOKEN(8) // "m9w50Ft9"
```
!SUBSECTION REGEX()
!SUBSECTION REGEX_MATCH()
`REGEX(text, search, caseInsensitive) → bool`
`REGEX_MATCH(text, search, caseInsensitive) → bool`
Check whether the pattern *search* is contained in the string *text*,
using regular expression matching.
@ -327,9 +327,9 @@ If the regular expression in *search* is invalid, a warning will be raised
and the function will return *false*.
```js
REGEX("the quick brown fox", "the.*fox") // true
REGEX("the quick brown fox", "^(a|the)\s+(quick|slow).*f.x$") // true
REGEX("the\nquick\nbrown\nfox", "^the(\n[a-w]+)+\nfox$") // true
REGEX_MATCH("the quick brown fox", "the.*fox") // true
REGEX_MATCH("the quick brown fox", "^(a|the)\s+(quick|slow).*f.x$") // true
REGEX_MATCH("the\nquick\nbrown\nfox", "^the(\n[a-w]+)+\nfox$") // true
```
!SUBSECTION REVERSE()

View File

@ -177,8 +177,8 @@ struct FunctionDefiner {
false, true, true, &Functions::Contains});
add({"LIKE", "AQL_LIKE", "s,r|b", true, true, false, true,
true, &Functions::Like});
add({"REGEX", "AQL_REGEX", "s,r|b", true, true, false, true,
true, &Functions::Regex});
add({"REGEX_MATCH", "AQL_REGEX_MATCH", "s,r|b", true, true, false, true,
true, &Functions::RegexMatch});
add({"LEFT", "AQL_LEFT", "s,n", true, true, false, true, true});
add({"RIGHT", "AQL_RIGHT", "s,n", true, true, false, true, true});
add({"TRIM", "AQL_TRIM", "s|ns", true, true, false, true, true});

View File

@ -1419,11 +1419,11 @@ AqlValue Functions::Like(arangodb::aql::Query* query,
return AqlValue(result);
}
/// @brief function REGEX
AqlValue Functions::Regex(arangodb::aql::Query* query,
arangodb::AqlTransaction* trx,
VPackFunctionParameters const& parameters) {
ValidateParameters(parameters, "REGEX", 2, 3);
/// @brief function REGEX_MATCH
AqlValue Functions::RegexMatch(arangodb::aql::Query* query,
arangodb::AqlTransaction* trx,
VPackFunctionParameters const& parameters) {
ValidateParameters(parameters, "REGEX_MATCH", 2, 3);
bool const caseInsensitive = GetBooleanParameter(trx, parameters, 2, false);
StringBufferLeaser buffer(trx);
arangodb::basics::VPackStringBufferAdapter adapter(buffer->stringBuffer());
@ -1464,7 +1464,7 @@ AqlValue Functions::Regex(arangodb::aql::Query* query,
if (matcher == nullptr) {
// compiling regular expression failed
RegisterWarning(query, "REGEX", TRI_ERROR_QUERY_INVALID_REGEX);
RegisterWarning(query, "REGEX_MATCH", TRI_ERROR_QUERY_INVALID_REGEX);
return AqlValue(arangodb::basics::VelocyPackHelper::NullValue());
}
@ -1479,7 +1479,7 @@ AqlValue Functions::Regex(arangodb::aql::Query* query,
if (error) {
// compiling regular expression failed
RegisterWarning(query, "REGEX", TRI_ERROR_QUERY_INVALID_REGEX);
RegisterWarning(query, "REGEX_MATCH", TRI_ERROR_QUERY_INVALID_REGEX);
return AqlValue(arangodb::basics::VelocyPackHelper::NullValue());
}

View File

@ -97,7 +97,7 @@ struct Functions {
VPackFunctionParameters const&);
static AqlValue Like(arangodb::aql::Query*, arangodb::AqlTransaction*,
VPackFunctionParameters const&);
static AqlValue Regex(arangodb::aql::Query*, arangodb::AqlTransaction*,
static AqlValue RegexMatch(arangodb::aql::Query*, arangodb::AqlTransaction*,
VPackFunctionParameters const&);
static AqlValue Passthru(arangodb::aql::Query*, arangodb::AqlTransaction*,
VPackFunctionParameters const&);

View File

@ -2301,7 +2301,7 @@ function AQL_LIKE (value, regex, caseInsensitive) {
/// @brief searches a substring in a string, using a regex
////////////////////////////////////////////////////////////////////////////////
function AQL_REGEX (value, regex, caseInsensitive) {
function AQL_REGEX_MATCH (value, regex, caseInsensitive) {
'use strict';
var modifiers = '';
@ -8358,7 +8358,7 @@ exports.AQL_UPPER = AQL_UPPER;
exports.AQL_SUBSTRING = AQL_SUBSTRING;
exports.AQL_CONTAINS = AQL_CONTAINS;
exports.AQL_LIKE = AQL_LIKE;
exports.AQL_REGEX = AQL_REGEX;
exports.AQL_REGEX_MATCH = AQL_REGEX_MATCH;
exports.AQL_LEFT = AQL_LEFT;
exports.AQL_RIGHT = AQL_RIGHT;
exports.AQL_TRIM = AQL_TRIM;

View File

@ -62,18 +62,18 @@ function ahuacatlStringFunctionsTestSuite () {
////////////////////////////////////////////////////////////////////////////////
testRegexInvalid : function () {
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN REGEX()");
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN REGEX(\"test\")");
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN REGEX(\"test\", \"meow\", \"foo\", \"bar\")");
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN REGEX_MATCH()");
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN REGEX_MATCH(\"test\")");
assertQueryError(errors.ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH.code, "RETURN REGEX_MATCH(\"test\", \"meow\", \"foo\", \"bar\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"[\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"[^\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"a.(\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"(a\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"(a]\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"**\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"?\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX(\"test\", \"*\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"[\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"[^\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"a.(\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"(a\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"(a]\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"**\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"?\")");
assertQueryWarningAndFalse(errors.ERROR_QUERY_INVALID_REGEX.code, "RETURN REGEX_MATCH(\"test\", \"*\")");
},
testRegex : function () {
@ -217,13 +217,13 @@ function ahuacatlStringFunctionsTestSuite () {
];
values.forEach(function(v) {
var query = "RETURN REGEX(@what, @re)";
var query = "RETURN REGEX_MATCH(@what, @re)";
assertEqual(v[2], getQueryResults(query, { what: v[0], re: v[1] })[0], v);
query = "RETURN NOOPT(REGEX(@what, @re))";
query = "RETURN NOOPT(REGEX_MATCH(@what, @re))";
assertEqual(v[2], getQueryResults(query, { what: v[0], re: v[1] })[0], v);
query = "RETURN NOOPT(V8(REGEX(@what, @re)))";
query = "RETURN NOOPT(V8(REGEX_MATCH(@what, @re)))";
assertEqual(v[2], getQueryResults(query, { what: v[0], re: v[1] })[0], v);
});