RegexMatch (استعلام NoSQL)
ينطبق على: NoSQL
توفر هذه الدالة قدرات تعبير عادية. التعبيرات العادية هي عبارة عن رمز مختصر ومرن للعثور على أنماط النص.
بناء الجملة
RegexMatch(<string_expr_1>, <string_expr_2>, [, <string_expr_3>])
الوسيطات
الوصف | |
---|---|
string_expr_1 |
تعبير سلسلة للبحث فيه. |
string_expr_2 |
تعبير سلسلة مع تعبير عادي معرف لاستخدامه عند البحث string_expr_1 . |
string_expr_3 (اختياري) |
تعبير سلسلة اختياري مع المعدلات المحددة لاستخدامها مع التعبير العادي (string_expr_2 ). إذا لم يتم توفيره، فإن الإعداد الافتراضي هو تشغيل تطابق التعبير العادي بدون معدلات. |
إشعار
يعد توفير سلسلة فارغة ل string_expr_3
مكافئا وظيفيا لحذف الوسيطة.
أنواع الإعادة
إرجاع تعبير منطقي.
الأمثلة
يوضح المثال التالي تطابقات التعبير العادي باستخدام بعض المعدلات المختلفة.
SELECT VALUE {
noModifiers: RegexMatch("abcd", "ABC"),
caseInsensitive: RegexMatch("abcd", "ABC", "i"),
wildcardCharacter: RegexMatch("abcd", "ab.", ""),
ignoreWhiteSpace: RegexMatch("abcd", "ab c", "x"),
caseInsensitiveAndIgnoreWhiteSpace: RegexMatch("abcd", "aB c", "ix"),
containNumberBetweenZeroAndNine: RegexMatch("03a", "[0-9]"),
containPrefix: RegexMatch("salt3824908", "salt{1}"),
containsFiveLetterWordStartingWithS: RegexMatch("shame", "s....", "i")
}
[
{
"noModifiers": false,
"caseInsensitive": true,
"wildcardCharacter": true,
"ignoreWhiteSpace": true,
"caseInsensitiveAndIgnoreWhiteSpace": true,
"containNumberBetweenZeroAndNine": true,
"containPrefix": true,
"containsFiveLetterWordStartingWithS": true
}
]
يفترض المثال التالي أن لديك حاوية تحتوي على عناصر تتضمن حقلا name
.
[
{
"name": "Tecozow coat",
"category": "winter-coats"
},
{
"name": "Bladnick coat",
"category": "winter-coats"
},
{
"name": "Anidin heavy jacket",
"category": "winter-coats"
}
]
يستخدم هذا المثال تطابق تعبير عادي كعامل تصفية لإرجاع مجموعة فرعية من العناصر.
SELECT VALUE
p.name
FROM
products p
WHERE
p.category = "winter-coats" AND
RegexMatch(p.name, " coat{1}")
[
"Tecozow coat",
"Bladnick coat"
]
الملاحظات
- تستفيد هذه الدالة من فهرس النطاق فقط إذا كان يمكن تقسيم التعبير العادي إلى وظائف
Contains
StartsWith
EndsWith
نظام أو أو أوStringEquals
ما يعادلها. - إرجاع
undefined
إذا كان تعبير السلسلة المراد البحث فيه (string_expr_1
)، أو التعبير العادي (string_expr_2
)، أو المعدلات المحددة (string_expr_3
) غير صحيحة. - تدعم هذه الدالة المعدلات الأربعة التالية: | | تنسيق | الوصف | | --- | --- | --- | | خطوط |
m
متعددة | تعامل مع تعبير السلسلة ليتم البحث فيه كأسطر متعددة. بدون هذا الخيار، الأحرف^
والمطابقة$
في بداية السلسلة أو نهايتها وليس كل سطر فردي. | | مطابقة أي سلسلة |s
| السماح ل "." بمطابقة أي حرف، بما في ذلك حرف سطر جديد. | | تجاهل حالة الأحرف |i
| تجاهل الحالة عند مطابقة النمط. | | تجاهل المسافة البيضاء |x
| تجاهل كافة أحرف المسافة البيضاء. | - إذا كنت ترغب في استخدام حرف تعريف في تعبير عادي ولا تريد أن يكون له معنى خاص، فيجب عليك الهروب من metacharacter باستخدام
\
.