تمت الإجابة جلب رابط صورة بالريجيكس

تم تحميل الصفحة في 0,5551611 ثانية
جلب رابط صورة بالريجيكس
الحالة
مغلق و غير مفتوح للمزيد من الردود.

ابو روضة

.:: إداري النقطة العامة ::.
rankrankrankrankrankrank
إنضم
28 أكتوبر 2012
المشاركات
4,367
الإعجابات
5,425
النقاط
223
الإقامة
القاهرة
السلام عليكم بحاول أتعلم الريجيكس بقالى يومين لكن وجهتنى مشكلة بسيطة فى باتيرين. فانا بتدرب على جلب باترين اى صورة حاليا
لتجلب لى الصورة داخل PictureBox وحاولت مؤخرا جلب رابط هذه الصورة من هذا

HTML:
<div class="author_avatar"><a href="member.php?action=profile&amp;uid=30786"><img src="http://vb4arb.com/vb/uploads/avatars/avatar_30786.png?dateline=1527779351" alt="" width="55" height="55" /></a></div>
وطلعت صحيحة فى الموقع
وهذا الناتج



وكتبت هذا الكود لآجلبها داخل ال PictureBox

C#:
        Dim wc As New WebClient
        Dim sourceString As String = wc.DownloadString(TextBox1.Text)
        Dim patren As String = "http?:\/\/vb4arb\.com\/vb\/.+(\d+)\.png\?\w{8}.\d{10}"
        Dim re As String = Regex.Match(sourceString, patren).Groups(1).Value
        PictureBox1.Load(re)
لكن بيظهرلى خطأ فممكن أعرف ما هو الخطأ بالظبط
 
إنضم
18 أغسطس 2016
المشاركات
100
الإعجابات
108
النقاط
43
وعليكم السلام ..
الخطأ على ما اعتقد بسبب ان متغير re لا يستخرج القيمه كامله بسبب:
انت تستعمل .Groups(1).value لكن ال group 1 فى هذا الباترن هو (\d+) لذلك سيستخرج هذه القيمه فقط
لذلك قم بوضع قوسين فى اول الكود واخره ليصبح Group 1 هو الباترن بالكامل وتصبح (\d+) هى group 2
كود:
"(http?:\/\/vb4arb\.com\/vb\/.+(\d+)\.png\?\w{8}.\d{10})"
او
جرب تغيير الرقم واحد الى صفر .Groups(0).value اعتقد انها ستستخرج الباترن بالكامل ايضا ..
........................
*ملحوظة: يمكنك ازالة "http?" وجعلها "http" فقط
لان فى هذه الحاله معناها استخراج "http" او "htt" وبالتأكيد الرابط سيكون "http"
علامه "?" توضع فى هذا المكان غالبا عند استخراج الروابط لاستخراج الروابط التى تستخدم البروتوكول الامن"https" او الغير امن "http"
فتكتب "https?" ليكون الناتج "http" او "https"
................
بالتوفيق إن شاء الله
 

ابو روضة

.:: إداري النقطة العامة ::.
rankrankrankrankrankrank
إنضم
28 أكتوبر 2012
المشاركات
4,367
الإعجابات
5,425
النقاط
223
الإقامة
القاهرة
وعليكم السلام ..
الخطأ على ما اعتقد بسبب ان متغير re لا يستخرج القيمه كامله بسبب:
انت تستعمل .Groups(1).value لكن ال group 1 فى هذا الباترن هو (\d+) لذلك سيستخرج هذه القيمه فقط
لذلك قم بوضع قوسين فى اول الكود واخره ليصبح Group 1 هو الباترن بالكامل وتصبح (\d+) هى group 2
كود:
"(http?:\/\/vb4arb\.com\/vb\/.+(\d+)\.png\?\w{8}.\d{10})"
او
جرب تغيير الرقم واحد الى صفر .Groups(0).value اعتقد انها ستستخرج الباترن بالكامل ايضا ..
........................
*ملحوظة: يمكنك ازالة "http?" وجعلها "http" فقط
لان فى هذه الحاله معناها استخراج "http" او "htt" وبالتأكيد الرابط سيكون "http"
علامه "?" توضع فى هذا المكان غالبا عند استخراج الروابط لاستخراج الروابط التى تستخدم البروتوكول الامن"https" او الغير امن "http"
فتكتب "https?" ليكون الناتج "http" او "https"
................
بالتوفيق إن شاء الله
جربت هذا ونجح بفضل الله..

C#:
http?:\/\/vb4arb\.com\/vb\/.+(\d+)\.png\?\w{8}.\d{10}
الموضوع معقد شوية لكنه ممتع
وللعلم أنا والله عملتها قبل ما اشاهد ردك والفضل لله أولا ثم انت
لآنك من جعلتنى أحب هذه التقنية
 
إنضم
18 أغسطس 2016
المشاركات
100
الإعجابات
108
النقاط
43
جربت هذا ونجح بفضل الله..

C#:
http?:\/\/vb4arb\.com\/vb\/.+(\d+)\.png\?\w{8}.\d{10}
الموضوع معقد شوية لكنه ممتع
وللعلم أنا والله عملتها قبل ما اشاهد ردك والفضل لله أولا ثم انت
لآنك من جعلتنى أحب هذه التقنية
الحمدلله.
تسلم اخى فاصرارك على التعلم شئ جميل جدا وهو عنصر اساسى للتعلم
استطعت تعلمها بفضل الله فى فترة قصيرة ما شاء الله .
وإن شاء الله ستتقنها سريعا.
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.

الأعضاء النشطين حاليآ الذين يشاهدون هذا الموضوع (1 عضو و 0 ضيف)

خيارات الاستايل

نوع الخط
مودك
اخفاء السايدر بار OFF
توسيط المنتدى OFF
فصل الأقسام OFF
الأقسام الفرعية OFF
عرض المشاركات
حجم الخط
معلومات العضو OFF
إخفاء التوقيع OFF

إرجاع خيارات الإستايل