الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ســؤال حول Regular expressiions و استخلاص قيم عددية

بدأه OricalcosZy في 13 يونيو 2011 · 16 رد · 488 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سؤالي كالتالي :

لدي عبارة مكتوبة باللغة الانجليزية وتحتوي على 3 قيم عددية قد تكون موجبة أو سالبة أو بها فاصلة ,وأريد ان يقوم البرنامج باستخلاص القيم العددية 3 و خزنها على شكل متغيرات ذات أسماء مثلا a و b و c

Zefri Yahya - ArabTeam 2000

tpc7rzy94tx8iduak4b.png

#2

السلام عليكم ورحمه الله وبركاته

اخي ممكن توضح الصيغه العامه للعباره؟!!

.:: Wish to become better and better ::.

#3

جرب هذا، لم أختبره لأن VB.NET غير مثبّت

dim _regexp as Regex = new Regex("-?[0-9]*\.?[0-9]+", RegexOptions.IgnoreCase)

dim _string as String = "ghewihihiho2395ewoie7305.36gghoiwog-3.5kskl"

dim m as Match = _regexp.Match(_string)

if (m.Success) then
	dim a,b,c as String
	a = m.Groups(1).Value
	b = m.Groups(2).Value
	c = m.Groups(3).Value
end if

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

السلام عليكم ورحمه الله وبركاته

اخي انت لم توضح نوع العباره, فاعتبرتها ان يظهر فيها معامل بدون اي اس, جرب الكود التالي


Dim tokens As MatchCollection = Regex.Matches("12X-0.5X+23.17", "-?(\d*\.)?\d+")
Dim a = tokens(0).Value
Dim b = tokens(1).Value
Dim c = tokens(2).Value

.:: Wish to become better and better ::.

#5

سأشرح أكثر : العبارات التي لدي كلها من نوع ax²+bx+c حيث a و b و c أعداد قد تكون موجية أو سالبة أو بها فاصلة

وقد تكون العبارة أيضا من نوع cos ax²+bx+c أو Sin او tan او aCosx+bsinx+atanx

المهم أن كل عبارة أدخلها ستحتوي على المتغيرات الثلاثة a و b وc في نفس الترتيب السبق وأنا أريد استخلاصها وخظها على شكل أعداد قابلة للاتعمال في العمليات

Zefri Yahya - ArabTeam 2000

tpc7rzy94tx8iduak4b.png

#6

السلام عليكم ورحمه الله وبركاته

اخي ممكن تكتب صيغة عامه علشان اساعدك بالحل, اما الحل السابق مجدي في اغلب الحالات .. ارجو تجريبه ..

.:: Wish to become better and better ::.

#7
VB Helper كتب:

السلام عليكم ورحمه الله وبركاته

اخي ممكن تكتب صيغة عامه علشان اساعدك بالحل, اما الحل السابق مجدي في اغلب الحالات .. ارجو تجريبه ..

مثال

-0.12x²+112x-5

5cos(x)-12.5sinx+tanx

Zefri Yahya - ArabTeam 2000

tpc7rzy94tx8iduak4b.png

#8

السلام عليكم ورحمه الله وبركاته

اخ مثل ماذكرت سابقا جرب الكود التالي في العبارتين السابقتين


For Each token As Match In Regex.Matches("5cos(x)-12.5sinx+tanx", "-?(\d*\.)?\d+")
Console.WriteLine(token.Value)
Next

.:: Wish to become better and better ::.

#9

الكود رائع لكن لا زالت لدي مشكلة

أريد اسناد حروف أو اسماء للمتغيرات المأخوذة بغية استعمالها في الحسابات

تم تعديل هذه المشاركة بواسطة OricalcosZy في 13 يونيو 2011 في 18:57

Zefri Yahya - ArabTeam 2000

tpc7rzy94tx8iduak4b.png

#10

السلام عليكم ورحمه الله وبركاته

اخي وماذا عن الدوال؟

.:: Wish to become better and better ::.

#11

الدوال كلها التي استعملها بها 3 او 4 قيم لا أكثر و لا اقل

واذا استخلصت القيم 3 أو 4 سأستطيع القيام بكل الخطوات الباقية laugh.gif

عذرا فقد أزعجتك blush.gif

Zefri Yahya - ArabTeam 2000

tpc7rzy94tx8iduak4b.png

#12

السلام عليكم ورحمه الله وبركاته

اخي قصدى هل نأخذ الداله مع القيمه مثلا 5Cos(x) ولا كيف بدك الاخذ؟!! الرجاء التوضيح

.:: Wish to become better and better ::.

#13

أخي الكريم حللت المشكل ... شكرا لك على المساعدة happy.gif

هل يمكنك ان تشرح لي الكود الذي رشحت كاجابة من فضلك ؟

تم تعديل هذه المشاركة بواسطة OricalcosZy في 13 يونيو 2011 في 19:50

Zefri Yahya - ArabTeam 2000

tpc7rzy94tx8iduak4b.png

#14

السلام عليكم ورحمه الله وبركاته

اخي استخدمت العبارة التاليه

-?(\d*\.)?\d+

والتي يمكن يظهر في الرقم اشارة السالب ويمكن لا لهذا استخدمنا ؟ كذلك يمكن يظهر رقم وبعده فاصله ويمكن لا ولكن ضروري يظهر رقم واحد في العدد ككل لهذا استخدمنا + اما في السابق استخدمنا * لأن يمكن يكون رقم مكون من عدة خانات ويمكن لايظهر بس تظهر فاصله لحالها

.:: Wish to become better and better ::.

#15

مررت على هذا الموضوع بالصدفة:

/index.php?showtopic=216089&pid=1069656&st=0entry1069656

قد يفيدك.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#16

شكرا أخي على الكتاب وعلى المساعدة أخ هشام wink.gif

Zefri Yahya - ArabTeam 2000

tpc7rzy94tx8iduak4b.png

#17

السلام عليكم ورحمه الله وبركاته

لاشكر على واجب اخي .. بالتوفيق ..

.:: Wish to become better and better ::.

مواضيع مشابهة