صف ما تريد مطابقته
تولّد هذه الأداة تعبيرًا نمطيًا (Regex) جاهزًا للاستخدام من وصف بالعربية تكتبه لما تريد مطابقته — رقم هاتف سعودي، بريد إلكتروني، رقم فاتورة ضريبية — فتغنيك عن حفظ صياغة Regex أو البحث عنها يدويًا في كل مرة. تفيد من لا يملك خلفية برمجية عميقة، ويحتاج التحقق من صيغة بيانات بسرعة دون تعلّم Regex من الصفر.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
من جملة عربية إلى تعبير جاهز
اكتب وصفًا واضحًا لما تريد مطابقته — مثل «رقم هاتف سعودي يبدأ بـ966+» أو «بريد إلكتروني ينتهي بنطاق .sa» — وتحلّل الأداة الوصف عبر محرك ذكاء اصطناعي، وتنتج تعبير Regex جاهزًا مع شرح مختصر لكل جزء منه. لا حاجة لمعرفة رموز Regex الدقيقة مسبقًا؛ الوصف بلغتك العادية كافٍ لبدء التوليد. يمكن أيضًا وصف حالات استثناء ضمن الجملة نفسها، مثل استبعاد أرقام تبدأ بصفر، لتنتج الأداة تعبيرًا يراعي هذا الشرط الإضافي مباشرة.
هل التعبير الناتج جاهز للاستخدام مباشرة؟
يخرج التعبير مصحوبًا بأمثلة على نصوص تطابقه وأخرى لا تطابقه، لتتأكد بنفسك من صحته قبل استخدامه في كودك أو نموذج تحقق بياناتك. راجع الأمثلة دائمًا قبل الاعتماد الكامل على أي Regex مولَّد آليًا في نظام إنتاج فعلي، خصوصًا حين تكون دقة المطابقة حساسة كالتحقق من رقم بطاقة أو رقم ضريبي. هذا التحقق يوفر وقتًا مقارنة باختبار التعبير يدويًا سطرًا بسطر على بيانات حقيقية، خصوصًا حين يحتوي التعبير شروطًا متداخلة يصعب تتبعها بالعين المجردة.
حالات استخدام شائعة لمطوّري الخليج
يستخدمها مطوّرون لبناء تعبير يطابق أرقام الآيبان السعودي أو الرقم الضريبي المكوّن من 15 خانة أو صيغة تاريخ محلية معينة، دون البحث في منتديات برمجية عن نمط جاهز قد لا يطابق الحالة بدقة. وصف الحاجة الفعلية بالعربية أسرع غالبًا من صياغة Regex يدويًا من الصفر لمن ليس خبيرًا في هذا التخصص الدقيق. هذا يوفّر وقتًا ثمينًا مقارنة بالبحث في وثائق أو منتديات متفرقة عن نمط جاهز قد لا يراعي خصوصية الصيغة المحلية أصلًا.
حالات الاستخدام
التحقق من رقم آيبان سعودي
يطلب مطوّر في شركة الخليج الرقمية تعبير Regex يطابق صيغة الآيبان السعودي المكوّنة من SA و22 خانة.
تنقية أرقام هواتف من ملف بيانات
تستخدم شركة الواحة للتجارة المحدودة Regex مولَّدًا لاستخراج أرقام هواتف بصيغة +966 من ملف بيانات عملاء ضخم.
التحقق من رقم فاتورة ضريبية
يبني محاسب في مؤسسة النخيل للمقاولات تعبيرًا يتحقق من صيغة رقم الفاتورة الضريبية المكوّنة من 15 خانة قبل قيدها في النظام.
الأسئلة الشائعة
كم السعر؟
$0.003 للطلب، ثم $0.0135 لكل تعبير إضافي يُولَّد ضمن الطلب نفسه.
هل يمكن كتابة الوصف بالعربية العامية؟
يُفضَّل وصف واضح ومباشر بالفصحى؛ كلما كان الوصف دقيقًا كانت نتيجة Regex أقرب لما تحتاجه فعليًا.
هل التعبير الناتج مضمون الدقة تمامًا؟
لا، راجع الأمثلة المرفقة دائمًا قبل الاعتماد عليه في نظام إنتاج فعلي؛ الأداة نقطة انطلاق سريعة لا بديلًا عن المراجعة.
هل تعمل هذه الأداة من المتصفح مجانًا؟
لا، التوليد يعتمد على محرك ذكاء اصطناعي يعمل على خوادمنا، فهي خدمة مدفوعة عبر API أو الموقع مباشرة.
هل يُحفظ الوصف الذي أكتبه؟
يُعالَج فقط لتوليد التعبير المطلوب، ثم لا يُحتفظ به بعد تسليم النتيجة.
هل تدعم لغات برمجة معينة؟
تعبيرات Regex القياسية متوافقة مع أغلب اللغات كـJavaScript وPython وPHP، مع فروق طفيفة نادرة بين محركاتها.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/dev/regex-generate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/regex-generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/regex-generate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/regex-generate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/regex-generate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"items": [
"valor-1",
"valor-2"
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.regex_generate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |