فهرست
هیڅکله نه پوهیږي چې ولې منظم څرګندونې په Excel فارمولونو کې نه ملاتړ کیږي؟ اوس، دوی دي :) زموږ د دودیزو فعالیتونو سره، تاسو کولی شئ په اسانۍ سره د ځانګړي نمونې سره سم تارونه ومومئ، بدل کړئ، استخراج او لرې کړئ.
په لومړي نظر کې، اکسل هر هغه څه لري چې تاسو یې د متن تار لپاره اړتیا لرئ. لاس وهنې هوم… د عادي څرګندونو په اړه څه؟ اوه، په Excel کې هیڅ جوړ شوي Regex افعال شتون نلري. مګر هیڅوک نه وايي چې موږ نشو کولی خپل ځان جوړ کړو :)
منظم بیان څه شی دی؟
یو منظم بیان (aka regex یا regexp ) د حروفونو یو ځانګړی کوډ شوی ترتیب دی چې د لټون نمونه تعریفوي. د دې نمونې په کارولو سره ، تاسو کولی شئ په تار کې د ورته کرکټر ترکیب ومومئ یا د ډیټا ان پټ تایید کړئ. که تاسو د وائلډ کارډ نوټیشن سره آشنا یاست، نو تاسو کولی شئ د ریجیکسونو په اړه د وائلډ کارډ پرمختللې نسخه په توګه فکر وکړئ.
منظم څرګندونې خپل ترکیب لري چې ځانګړي کرکټرونه، چلونکي او ساختمانونه لري. د مثال په توګه، [0-5] د 0 څخه تر 5 پورې د هرې یوې عدد سره سمون لري.
منظم بیانات په ډیری پروګرامینګ ژبو کې کارول کیږي پشمول جاواسکریپټ او VBA. وروستنۍ یو ځانګړی RegExp څیز لري، کوم چې موږ به د خپلو دودیزو فعالیتونو د جوړولو لپاره وکاروو.
ایا ایکسل د ریجیکس ملاتړ کوي؟
په خواشینۍ سره، په Excel کې د Regex هیڅ ډول اندروید فعالیت شتون نلري. ستاسو په فورمولونو کې د منظم بیان کارولو وړتیا لپاره، تاسو باید خپل د کارونکي لخوا ټاکل شوی فنکشن جوړ کړئ (VBAدلیلونه:
=IF(RegExpMatch(A5, $A$2), "Yes", "No")
د نورو فورمول مثالونو لپاره، مهرباني وکړئ وګورئ:
- څنګه د منظم بیانونو په کارولو سره د تارونو سره میچ کول<25
- د ریجیکس سره د ایکسل ډیټا تایید
د ایکسل ریجیکس استخراج فنکشن
د RegExpExtract فنکشن د فرعي سټرینګونو لټون کوي چې د منظم بیان سره سمون لري او ټول میچونه استخراجوي یا ځانګړی میچ.
RegExpExtract(متن، نمونه، [instance_num]، [match_case])چیرته:
- متن (اړین) - د لټون لپاره د متن تار in.
- بطره (اړین) - د سمون لپاره منظم بیان.
- Instance_num (اختیاري) - یو سریال نمبر چې په ګوته کوي کوم مثال ته استخراج که پریښودل شي، ټول موندل شوي میچونه (ډیفالټ) بیرته راګرځوي.
- Match_case (اختیاري) - دا تعریفوي چې ایا سره سمون لري (رښتیا یا پریښودل) یا له پامه غورځول (غلط) متن قضیه.
تاسو د فنکشن کوډ دلته ترلاسه کولی شئ.
مثال: د منظم بیانونو په کارولو سره د تارونو ایستلو څرنګوالی
زموږ مثال یو څه نور په پام کې نیولو سره، راځئ چې د رسید شمیرې استخراج کړو. د دې لپاره، موږ به یو خورا ساده ریجیکس وکاروو چې د 7 عددي شمیرې سره سمون خوري:
1> نمونه : \b\d{7}\b
کیښودل په A2 کې نمونه او تاسو به د دې کمپیکٹ او ښکلي فارمول سره کار سرته ورسوئ:
=RegExpExtract(A5, $A$2)
که یوه نمونه سره سمون ولري، فورمول د رسید شمیره استخراج کوي، که چیرې هیڅ سمون ونه موندل شي - هیڅ شی بیرته نه دی راستانه شوی.
د نورو مثالونو لپاره، مهرباني وکړئ وګورئ: څنګه په Excel کې تارونه استخراج کړئد regex په کارولو سره.
Excel Regex Replace function
RegExpReplace فنکشن هغه ارزښتونه بدلوي چې د regex سره سمون خوري د هغه متن سره چې تاسو یې مشخص کړئ.
RegExpReplace(متن، نمونه، ځای په ځای کول , [instance_num], [match_case])چیرې:
- متن (اړین دی) - د لټون کولو لپاره د متن تار.
- نمونه (اړین) - د سمون لپاره منظم بیان.
- بدلون (اړین) - متن چې د ورته فرعي سټینګونو بدلولو لپاره.
- Instance_num (اختیاري) - د ځای په ځای کولو مثال. ډیفالټ "ټول میچونه" دي.
- Match_case (اختیاري) - کنټرول کوي چې ایا سره سمون لري (سمه یا پریښودل) یا له پامه غورځول (غلط) متن قضیه.
د فنکشن کوډ دلته موجود دی.
مثال: د ریجیکس په کارولو سره د تارونو بدلولو یا لرې کولو څرنګوالی
زموږ ځینې ریکارډونه د کریډیټ کارت شمیرې لري. دا معلومات محرم دي، او تاسو ممکن د یو څه سره بدل کړئ یا په بشپړ ډول حذف کړئ. دواړه دندې د RegExpReplace فنکشن په مرسته سرته رسولی شي. هغه څنګه؟ په دوهمه سناریو کې، موږ به د خالي تار سره ځای په ځای کړو.
زموږ د نمونې په جدول کې، د کارت ټولې شمیرې 16 عددونه لري، کوم چې په 4 ګروپونو کې لیکل شوي د ځایونو سره جلا شوي. د هغوی د موندلو لپاره، موږ د دې منظم بیان په کارولو سره نمونه تکرار کوو:
نمونه : \b\d{4} \d{4} \d{4} \d{4}\ b
د بدلولو لپاره، لاندې تار کارول کیږي:
بدلون : XXXX XXXX XXXXXXXX
او دلته د کریډیټ کارت شمیرو بدلون د غیر حساس معلوماتو سره بشپړ فارمول دی:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "XXXX XXXX XXXX XXXX")
په جلا حجرو کې د ریجیکس او بدیل متن سره ( A2 او B2)، فورمول په مساوي توګه کار کوي:
په Excel کې، "لیرې کول" د "بدلون" یوه ځانګړې قضیه ده. د کریډیټ کارت شمیرو لیرې کولو لپاره، یوازې د بدلون دلیل لپاره یو خالي تار ("") وکاروئ:
=RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")
30>
لارښوونه. په پایلو کې د خالي لینونو ریګ ترلاسه کولو لپاره ، تاسو کولی شئ د RegExpReplace بل فنکشن وکاروئ لکه څنګه چې پدې مثال کې ښودل شوي: د regex په کارولو سره د خالي لینونو لرې کولو څرنګوالی.
د نورو معلوماتو لپاره مهرباني وکړئ وګورئ:
- د ریجیکس په کارولو سره په Excel کې د تارونو بدلولو څرنګوالی
- د ریجیکس په کارولو سره د تارونو لرې کولو څرنګوالی
- څنګه د ریجیکس په کارولو سره د سپینې ځای لرې کول
د ریجیکس وسیلې د میچ کولو ، استخراج لپاره د فرعي سټرینګونو ځای په ځای کول او لرې کول
زموږ د الټیمیټ سویټ کارونکي کولی شي د منظم بیان ټول ځواک ترلاسه کړي پرته لدې چې په خپلو کاري کتابونو کې د کوډ یوه کرښه داخل کړي. ټول اړین کوډونه زموږ د پراختیا کونکو لخوا لیکل شوي او د نصب کولو پرمهال ستاسو په Excel کې په اسانۍ سره مدغم شوي.
د VBA افعالونو برخلاف چې پورته یې بحث شوی ، د الټیمیټ سویټ افعال د .NET پراساس دي ، کوم چې دوه اصلي ګټې ورکوي:
- تاسو کولی شئ په نورمال .xlsx کاري کتابونو کې د VBA کوډ اضافه کولو او د میکرو فعال شوي فایلونو په توګه خوندي کولو پرته منظم بیانونه وکاروئ.
- . د NET Regex انجن د بشپړ ځانګړتیاو کلاسیک ملاتړ کويمنظم اظهارات، کوم چې تاسو ته اجازه درکوي ډیر پیچلي نمونې جوړې کړئ.
په Excel کې د ریجیکس کارولو څرنګوالی
د الټیمیټ سوټ نصب سره، په Excel کې د منظم بیانونو کارول د دې دوو ګامونو په څیر ساده دي. :
- په Ablebits Data ټب کې، په Text ګروپ کې، Regex Tools کلیک وکړئ.
- په Regex Tools پین کې، لاندې کار وکړئ:
- د سرچینې ډاټا وټاکئ.
- خپل د ریجیکس نمونه دننه کړئ.
- مطلوب انتخاب غوره کړئ: میچ ، استخراج ، لیرې کړئ یا ځای په ځای کړئ .
- د پایلې ترلاسه کولو لپاره فورمول او ارزښت نلري، د د فورمول په توګه داخل کړئ چک بکس غوره کړئ.
- د عمل تڼۍ کېکاږئ.
د مثال په توګه، د حجرو څخه د کریډیټ کارت شمیرې لرې کولو لپاره A2:A6، موږ دا تنظیمات تنظیم کوو:
په یوه درې کې، د AblebitsRegex فنکشن به ستاسو د اصلي ښي خوا ته په نوي کالم کې داخل شي ډاټا زموږ په قضیه کې، فورمول دا دی:
=AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")
کله چې فورمول شتون ولري، تاسو کولی شئ دا د هر اصلي فارمول په څیر ترمیم، کاپي یا حرکت وکړئ.
څنګه په یوه حجره کې مستقیم د Regex فورمول داخل کړئ
د AblebitsRegex افعال هم د اضافې انټرفیس کارولو پرته په مستقیم حجره کې دننه کیدی شي. دلته یې څنګه دی:
- د فورمول بار کې د fx تڼۍ کلیک وکړئ یا په فارمول ټب کې فنکشن داخل کړئ .
- په فنکشن داخل کړئ ډیالوګ بکس کې، AblebitsUDFs غوره کړئکټګورۍ کې، د ګټو فنکشن غوره کړئ، او په سمه توګه کلیک وکړئ.
- د فنکشن دلیلونه تعریف کړئ لکه څنګه چې تاسو معمولا کوئ او په سمه توګه کلیک وکړئ. بشپړ شوی!
د لا زیاتو معلوماتو لپاره، مهرباني وکړئ د Excel لپاره Regex Tools وګورئ.
دا د Excel په حجرو کې د متن سره سمون، استخراج، ځای پر ځای کولو او لرې کولو لپاره د منظم بیانونو کارولو څرنګوالی دی. زه ستاسو د لوستلو لپاره مننه کوم او په راتلونکې اونۍ کې زموږ په بلاګ کې تاسو سره لیدو ته سترګې په لار یم!
د موجود ډاونلوډونه
د ایکسل ریجیکس - فورمول مثالونه (.xlsm فایل)
الټیمیټ سویټ - د آزموینې نسخه (.exe فایل)
یا .NET پراساس) یا د دریمې ډلې وسیلې نصب کړئ چې د ریجیکس ملاتړ کوي.د ایکسل ریجیکس چیټ شیټ
که د ریجیکس نمونه خورا ساده وي یا خورا پیچلې ، دا د عام ترکیب په کارولو سره رامینځته کیږي. د دې ټیوټوریل موخه دا نه ده چې تاسو ته منظم څرګندونې زده کړئ. د دې لپاره، آنلاین ډیری سرچینې شتون لري، د پیل کونکو لپاره وړیا درسونو څخه د پرمختللي کاروونکو لپاره پریمیم کورسونو پورې.
لاندې موږ د اصلي RegEx نمونو ته چټک حواله وړاندې کوو چې تاسو سره به د اساساتو په پوهیدو کې مرسته وکړي. دا ممکن د نورو مثالونو په مطالعه کولو کې ستاسو د خیانت پاڼې په توګه هم کار وکړي.
که تاسو د منظم بیانونو سره آرام یاست، تاسو کولی شئ مستقیم د RegExp افعال ته لاړ شئ.
کرکټرونه
دا د ځانګړو حروفونو سره د سمون لپاره ډیری وختونه کارول شوي نمونې دي.
پټرن | توضیح | بیلګه | میچونه |
. | وائلډ کارډ کرکټر: د کرښې ماتولو پرته د هر یو کریکټر سره سمون لري | .ot | dot , ګرم ، پوټ ، @ot |
\d | ډجیټ کرکټر: هر یو عدد له 0 څخه تر 9 | \d | په a1b کې، 1 |
\D | هر هغه کرکټر چې عدد نه وي | \D | په a1b کې، د a او b<2 سره سمون خوري> |
\s | سپیس سپیس کرکټر: ځای، ټب، نوې کرښه او د ګاډي بیرته ستنیدل | .\s. | په 3 سینټ ، میچونه 3 c |
\S | هرغیر سپین ځای کرکټر | \S+ | په 30 سینټ کې، د 30 او سینټ |
\w | د کلمې کرکټر: هر ډول ASCII لیک، عدد یا انډر سکور | \w+ | په 5_cats*** کې، سره سمون خوري 5_cats |
\W | هر هغه کرکټر چې د الفانوميریک کرکټر یا انډر سکور نه وي | \W+ | په 5_cats*** کې، میچونه *** |
\t | Tab | <14||
\n | نوی کرښه | \n\d+ | په دوه کرښه کې لاندې تار، د 10 5 پیشوګانو سره میچ کوي 10 سپي |
\ | د یو کرکټر ځانګړي معنی تښتوي، نو تاسو کولی شئ د دې لټون | \. \w+\. | د یوې دورې څخه تښتي نو تاسو کولی شئ لفظي "." په تار کې کرکټر ښاغلی ، ښاغلی ، پروفیسر |
د کرکټر ټولګي
د دې نمونو په کارولو سره، تاسو کولی شئ د مختلف کرکټر سیټونو عناصر سره سمون ومومي.
بطره | توضیح | بیلګه | میچونه |
[کردار] | په بریکٹ کې د هر یو کرکټر سره سمون لري | d[oi]g | کتا او ډیګ |
[^کرکټرونه] | په بریکٹونو کې د هر یو کرکټر سره سمون نه خوري | d[^oi]g | مقابلې dag, dug , d1g ملاتړ نه کوي کتا او dig |
[له څخه تر] | په رینج کې هر کرکټر سره سمون خوريقوسونه | [0-9] [a-z] [A-Z] | هر یو واحد عدد له 0 څخه تر 9 هر یو کوچنی توری هر یو لوی توری |
Quantifiers
Quantifiers ځانګړي څرګندونې دي چې د سمون لپاره د حروفونو شمیر مشخص کوي. یو اندازه کوونکی تل د هغه څخه مخکې په کرکټر باندې تطبیق کیږي.
بطره | توضیح | مثال | میچونه |
* | صفر یا ډیر پیښې | 1a* | 1, 1a , 1aa, 1aaa ، او داسې نور. |
+ | یو یا ډیر پیښې | po+ | په پوټ , میچونه po په غریب کې، میچونه poo |
؟ | صفر یا یوه پیښه | roa?d | سړک، روډ |
*؟ | صفر یا ډیر پیښې، مګر د امکان تر حده لږ | 1a*؟ | په 1a ، 1aa او 1aaa کې، میچونه 1a |
+? | یو یا څو پیښې، مګر څومره چې امکان ولري لږ | po+? | <14 په پوټ او غریب کې، د پو 15>|
؟ | صفر یا یوه پیښه سره سمون لري ، مګر څومره چې ممکنه وي لږ | roa؟ | په روډ او روډ کې، د ro | <سره سمون لري 16>
{n} | له مخکینۍ بڼې سره سمون خوري n وختونه | \d{3} | په دقیق ډول 3 عددونه |
{n , | د مخکینۍ بڼې سره سمون خوري n یا ډیر ځله | \d{3,} | 3 یا ډیرو عددونو |
{n,m | د دې سره سمون خوريمخکینۍ نمونه د n او m وختونو ترمنځ | \d{3,5} | له 3 څخه تر 5 عددونو |
ګروپ کول
د ګروپ جوړونه د سرچینې تار څخه د فرعي سټینګ اخیستلو لپاره کارول کیږي، نو تاسو کولی شئ د هغې سره یو څه عملیات ترسره کړئ.
نحو | توضیح | <14 بیلګهمقابلې | |
(بطره) | د ګروپ نیول: یو مطابقت لرونکی فرعي سټرینګ نیسي او یو منظم شمیره ورکوي | (\d+) | په 5 پیشوګانې او 10 سپي ، نیول 5 (گروپ 1) او 10 (گروپ 2) |
(؟:pattern) | بې نيولوونکې ډله: د يوې ډلې سره سمون خوري خو نه يې نيولې | (\d+)(؟: سپي) | په 5 پیشوګانې او 10 سپي ، نیول 10 |
\1 | د ګروپ مینځپانګې 1 | (\d+)\+(\d+)=\2\+\1 | میچونه 5+10=10+5 او نیول 5 او 10 ، کوم چې د نیولو ګروپونو کې دي |
\2 | د ګروپ 2 منځپانګې |
اینکرز
اینکرز د ان پټ سټینګ کې یو موقعیت مشخص کوي چیرې چې د لټون لپاره یوه لوبه.
لنگر | توضیح | مثال | میچونه |
^ | د تار پیل یادونه: [^د قوس دننه] معنی "نه" | ^\d+ | په هر ډول عددونو کې د تار پیل. په 5 پیشوګانو او 10 سپو کې، د 5 |
$ | <14 سره سمون لري>د تار پای\d+$ | د تار په پای کې هر ډول عددونه. په 10 کېY | |
(?<=) | مثبت لید شاته | (?<=Y)X | د ایکس ایکس سره سمون خوري کله چې دا د Y څخه مخکې وي (یعنې که د X شاته Y وي) |
(؟ | منفي لید شاته | (؟ | ایکس ایکس ایکس سره سمون خوري کله چې دا د Y څخه مخکې نه وي |
اوس چې تاسو په اړینو پوهیږو، راځئ چې په زړه پورې برخې ته لاړ شو - په کارولو سره regexes په ریښتیني ډیټا کې د تارونو د پارس کولو او اړین معلوماتو موندلو لپاره. که تاسو د نحو په اړه نورو توضیحاتو ته اړتیا لرئ، د مایکروسافټ لارښود په منظمه بیان ژبه کې ګټور ثابت کیدی شي.
د Excel لپاره د ګمرک RegEx فعالیتونه
لکه څنګه چې مخکې یادونه وشوه، د مایکروسافټ ایکسل هیڅ جوړ شوي RegEx افعال نلري. د منظم بیان فعالولو لپاره، موږ درې دودیز VBA فنکشنونه جوړ کړي دي (یعنې د کارونکي لخوا ټاکل شوي فنکشنونه). تاسو کولی شئ کوډونه د لاندې لینک شوي پاڼو یا زموږ نمونې څخه کاپي کړئ. کاري کتاب، او بیا په خپل اکسل فایلونو کې پیسټ کړئ.
د VBA RegExp څنګه کار کوي
دا برخه داخلي میکانیکونه تشریح کوي او کیدای شي بشپړ وي د هغو کسانو لپاره چې غواړي پوه شي چې په پس منظر کې څه پیښیږي.
په VBA کې د منظم بیانونو کارولو پیل کولو لپاره، تاسو باید د RegEx اعتراض کتابتون فعال کړئ یا د CreateObject فنکشن وکاروئ. د دې لپاره چې تاسو د VBA مدیر کې د حوالې ترتیب کولو ستونزه وژغورئ، موږ وروستنۍ طریقه غوره کړه.
د RegExp څیز 4 ملکیتونه لري:
- 24> بطره - دی پټون د ان پټ سټرینګ سره د میچ کولو لپاره.
- نړیوال - دا کنټرولوي چې ایا ټول میچونه د ان پټ سټینګ کې ومومئ یا یوازې لومړی. زموږ په دندو کې، دا د ټولو میچونو ترلاسه کولو لپاره ریښتیا ته ټاکل شوی.
- ملټي لاین - دا معلومه کوي چې ایا د څو لاین تارونو کې د لاین بریکونو په اوږدو کې نمونه سره سمون لري یا یوازې په لومړۍ کرښه کې. زموږ په کوډونو کې، دا د په هره کرښه کې کې د لټون کولو لپاره ریښتیا ټاکل شوي.
- IgnoreCase - دا تعریفوي چې ایا منظم بیان د قضیې حساس (ډیفالټ) یا قضیه- غیر حساس (ریښتیا ته ټاکل شوی). زموږ په قضیه کې، دا پدې پورې اړه لري چې تاسو اختیاري match_case پیرامیټر څنګه تنظیم کړئ. په ډیفالټ کې، ټولې دندې د قضیې حساس دي.
VBA RegExp محدودیتونه
Excel VBA د ریجیکس اړین نمونې پلي کوي، مګر دا ډیری پرمختللي ځانګړتیاوې نلري. په .NET، Perl، Java، او نورو regex انجنونو کې شتون لري. د مثال په توګه، VBA RegExp د انلاین موډیفایرونو ملاتړ نه کوي لکه (؟i) د قضیې غیر حساس میچ کولو لپاره یا (؟m) د څو لاین حالت لپاره، شاته لید، د POSIX ټولګیو لپاره، د څو نومولو لپاره.
Excel Regex د میچ فنکشن
RegExpMatch فنکشن د متن لپاره د ان پټ سټرینګ لټون کوي کوم چې د منظم بیان سره سمون لري او که یو میچ وموندل شي ریښتیا بیرته راګرځي، په بل ډول غلط.
RegExpMatch(متن، نمونه، [ match_case])چیرته:
- متن (اړین دی) - د لټون کولو لپاره یو یا څو تارونه.
- پټرن ( اړین) - منظمد میچ کولو اظهار.
- Match_case (اختیاري) - د میچ ډول. ریښتیا یا پریښودل - د قضیې حساس؛ FALSE - قضیه غیر حساس
د فنکشن کوډ دلته دی.
مثال: د تارونو سره د سمون لپاره د منظم بیانونو کارولو څرنګوالی
په لاندې ډیټا سیټ کې، فرض کړئ چې تاسو غواړئ د دې لپاره چې د SKU کوډونه ولري د ننوتلو پیژندلو لپاره.
په پام کې نیولو سره چې هر SKU د 2 لوی حروف سره پیل کیږي، وروسته د هایفین سره، ورپسې 4 عددونه، تاسو کولی شئ د لاندې بیان په کارولو سره دوی سره سمون ومومي.
پټرن : \b[A-Z]{2}-\d{4}\b
چیرې چې [A-Z]{2} معنی لري له A څخه تر Z او \d{4 پورې هر دوه لوی توري } د 0 څخه تر 9 پورې هر ډول 4 عددونه معنی لري. د کلمې حد \b دا په ګوته کوي چې SKU یوه جلا کلمه ده او د لوی تار برخه نه ده.
د نمونې په رامینځته کولو سره، د فورمول ټایپ کول پیل کړئ لکه څنګه چې تاسو معمولا کوئ. ، او د فنکشن نوم به په لیست کې څرګند شي چې د Excel د آټوکمپلیټ لخوا وړاندیز شوی:
فرض کړئ چې اصلي تار په A5 کې دی، فورمول په لاندې ډول ځي:
=RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")
د اسانتیا لپاره، تاسو کولی شئ منظم بیان په جلا حجره کې داخل کړئ او د پټرن دلیل لپاره مطلق حواله ($A$2) وکاروئ t. دا ډاډ ورکوي چې د حجرې پته به بدله پاتې وي کله چې تاسو فارمول نورو حجرو ته کاپي کړئ:
=RegExpMatch(A5, $A$2)
د ریښتیا او غلط پر ځای د خپل متن لیبلونو ښودلو لپاره، د IF فنکشن کې نیسټ RegExpMatch او مطلوب متنونه په value_if_true او value_if_false کې مشخص کړئجمع 5 ورکوي 15 ، میچونه 15
بدلون (OR) جوړ کړئ
د بدیل عملیات د OR منطق فعالوي، نو تاسو کولی شئ دا یا هغه عنصر سره سمون خوري. 14>تفصیل