![]() |
|
[سؤال] المساعدة في فرز المواضيع بليست بوكس - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [سؤال] المساعدة في فرز المواضيع بليست بوكس (/showthread.php?tid=16494) الصفحات:
1
2
|
RE: المساعدة في فرز المواضيع بليست بوكس - CLARO - 24-07-16 اولا مبروك دخولك قروب المتميزون ويا ريت توضح اكثر اخوي انت م قصرت معي بس محتاج توضيح اكثر RE: المساعدة في فرز المواضيع بليست بوكس - LoveVb - 25-07-16 الله يبارك فيك ياغالي ![]() - هل تريد شرح الPattern ام جميع الاكواد انا جاهز RE: المساعدة في فرز المواضيع بليست بوكس - CLARO - 25-07-16 يا ريت لو تشرحلي فأنا اتشرف باني اتعلم على يدك و اسستفيد بارك الله فيك لجهودك المبذوله بالمنتدى RE: المساعدة في فرز المواضيع بليست بوكس - CLARO - 26-07-16 انا انتظرك ي غالي RE: المساعدة في فرز المواضيع بليست بوكس - LoveVb - 26-07-16 بسم الله :coffe: ![]() ساشرح الاكواد غير Pattern شرح بسيط إقتباس : Dim wb As New System.Net.WebClient() With {.Encoding = System.Text.Encoding.UTF8} هذا الكائن تقدر تستخدم فيه رفع ملفات او تحميل ملفات او تحميل نصوص من صفحة فيه دوال كثيرة لم استخدم الا Download صفحة,ملف لكن الي نريده هو جلب سورس صفحة إقتباس : Dim ContentPage As String = wb.DownloadString(txtLnk.Text & "f" & txtNumPage.Text & "-montada") هنا قمنا بتحميل سورس الصفحة وتخزينها في متغير ContentPage محتوى الصفحة وبين الاقواس وضعنا الرابط مع جلب ك القسم من تكست بوكس ايضا يوجد مصوفة عامه راح تعرف ليه استخدمناها هذا الكود إقتباس : Dim Topics As MatchCollection راح تحصل بالاكواد الي عطيتك هكذا إقتباس :Dim Topics As System.Text.RegularExpressions.MatchCollection لاني لم استدعي فضاء RegularExpressions بـ Imports System.Text.RegularExpressions هنا إقتباس :Dim Topics As System.Text.RegularExpressions.MatchCollection قمنا بانشاء مصفوفة خاصه بجلب جميع النصوص الذي تطابق الPattern وراح تعطينا تواصل افضل ك جلب جروب ورقم عنصر ثم قمنا بتخزين هذا الكود بداخلها إقتباس :Regex.Matches(ContentPage, "t(\d+)-topic"">([أ-يآء\w\s|،ٍِْ~ًٌَُ:#!\.,$()«»""\[\]@^&*-]{2,})", System.Text.RegularExpressions.RegexOptions.IgnoreCase) regex.matches راح تجلب الجميع regex.match راح تجلب اول عنصر يطابق الPattern هذا هو الpattern لا تقلق باذن الله ستعتبره شئ بسيط وراح اعطيك درسين راح تفهم اكثر من شرحي نرجع لسورس الصفحة قسم 6 هكذا تكون المواضيع يسبق اسم الموضوع <"href="/t00000-topic الارقام راح تختلف من موضوع لموضوع نرحع للPattern راح نبدا من الحرف tثم ارقام اخبرته بانه يطابق حرف t ثم قوس لا تهتم بالقوس لانه يعني جروب واستخدمناه لجلب رقم الموضوع وحده ثم \d وهي تعني رقم ووضعت + بجابنها لكي تعني ارقام اوضح اكثر لو قمت بإزالة ال+ راح يطابق فقط t1 مع + راح يطابق t136519 هذا الرقم موجود في الصورة اعلى المهم + تعني واحد او اكثر ثم هناك شَرطة - وضعتها بعد القوس لكي يكون الجروب خاص برقم الموضوع ثم اخبرته بان بعد الشَرطة - كلمة topic ثم " وضعتها مرتين لان في الفيجوال بيسك لو وضعتها مره راح يعتبرها نهاية النص لذلك لازم اخبره بانها حرف ثم < الان ناتي للمهم وضع قوس جروب لاجلب فقط اسماء المواضيع الان القوس هذا [] راح يطابق مثل الي في القوس نبتعد عن الPattern جلب المواضيع راح اجلب فقط الاسماء الي تبدا ب حرف A و M شاهد هنا : http://regexr.com/3dsja اتمنى وضحت الفكرة لك نرجع ل الان اخبرته بعد كل<"href="/t00000-topic طابق لي الي احددها لك وقمت بحديد له أ-ي جميع الحروف العربية او اقدر اقوله [ابتثجحخ] الخ لكن لها اختصار ونستخدمه ايضا مع الحروف الانجليزية [a-z] لكن فقط سيطابق الحروف الصغيرة لذلك [a-zA-Z] لكن هناك اختصار وهو \w \w سيطابق جميع الحروف الانجليزية ايضا _ والارقام ثم \s سطابق مسافة " " الباقي اخبرته انه قد يكون في النص وليست لها معنى بالregex قد ترى \ كثيرة بسبب ان بعض الرموز لديها معنا ونخبره بانه يعتبرها كحرف باضافة \ قبلها لكن الى الان لست متاكد من هذا الامر لانه قد يقوم بتعطيلها تلقائي في بعض الحالات ثم بعد الاقواس [] وضعت قوس {} اذا وضعت رقم بداخلها فانت تخبره بان يطابق قبل القوس (حرف) على هذا العدد مثال : http://regexr.com/3dsjp ولو وضعت فاصلة {3,5} فتخبره بان الحرف قبل القوس يكون اقل تكرار 3 واكثر تكرار 5 ايضا {5,} 5 او اكثر واذا كانت الفاصلة عكس 5 او اقل اعتقد انك فهمت اين تضع الرموز الجديدة ولا تنسى تعطيل معنى حرف - بإضافة \ قبله لكي لا تهتم له لاحقا بان يجب ان يكون بالاخير وهذه الدروس يجب ان تشاهدها اذا كنت تريد التعلم واي استفسار اثناء تعلمها ضع موضوعك وان شاء الله مانقصر معك https://www.youtube.com/watch?v=ppHCfWrZX7Y&list=PLRGE-g95SFbcKip6VxVUlqyxtn8PUtEIo ------------------------ الاكواد الاخيرة إقتباس : For i As Short = 0 To Topics.Count - 1 قمنا بعمل حلقة تكرارية من اول عنصر الى اخر عنصر موجود في المصفوفة topics ثم قمنا بإضافتها الى ListBox لو ماوضعت جروب خاص لرقم الموضوع وايضا لاسم الموضوع لذلك ساجعل الكود هكذا إقتباس : For i As Short = 0 To Topics.Count - 1وهذا الناتج الجروب رقم 0 راح يكون ايضا مثل الناتح بالصورة الجروب رقم 1 رقم يكون ارقام المواضيع ورقم 2 اسم المواضيع وايضا قمنا بإضافة ارقام المواضيع في المصوفة العامه NPage اسف اذا كان الشرح ملخبط نصيحه : اذا كنت تريد التعلم لا تبدا باشياء كبيره في البداية تحقق من رقم هاتف لدوله معينه ايضا تحقق من البريد الاكتروني شكله صحيح وليس اي نص يدخل وقم بعمل تجارب والله يوفقك RE: المساعدة في فرز المواضيع بليست بوكس - CLARO - 26-07-16 وووووو ما شاء الله عليك استفدك كثير 3> شكرا لك RE: المساعدة في فرز المواضيع بليست بوكس - LoveVb - 26-07-16 الـعـفـو ^^ RE: المساعدة في فرز المواضيع بليست بوكس - LoveVb - 02-08-16 الحمدلله لم اتوقف عن دراسة هذه التقنية الرائعه فكنت اقول اني لا احتاج لاني استطيع استخراج اي نص اخذت معلومه جميله جدا تم اختصار الPattern ولا يحتاج الى تعديل t(\d+)-topic"">(?!<|>)(?!\d)(.+?)< الاهم هو .+? كما قلنا ان ال ( . ) تعني اي حرف ثم + حرف واحد او اكثر والاهم هو ؟ ستجعله يتوقف عند اول تطابق بمعنى تجعله كسول ^^ ال ؟ تعني 0 او 1 = موجود او مو موجود الحرف الي قبله. وايضا تعنى ^ مثال : http://regexr.com/3dtun اي استفسار في الPattern تفضل RE: المساعدة في فرز المواضيع بليست بوكس - CLARO - 19-08-16 بارك الله فيك وشكرا لك وانا رح احاول اتعلم منك قدر الامكان RE: المساعدة في فرز المواضيع بليست بوكس - LoveVb - 20-08-16 العفو اخوي هذا واجبي |