চলকটি $/
সর্বাধিক সাম্প্রতিক ম্যাচকে $¢
বোঝায় যখন ভেরিয়েবলটি সাম্প্রতিকতম বহিরাগতের ম্যাচকে বোঝায়। উপরের মত বেশিরভাগ বুনিয়াদি রেগেক্সে, এটি এক এবং একই হতে পারে। তবে .raku
পদ্ধতির আউটপুট থেকে দেখা যায় , Match
বস্তুগুলিতে অন্যান্য Match
অবজেক্ট থাকতে পারে (আপনি যখন ব্যবহার করবেন তখন $<foo>
বা $1
ক্যাপচারের জন্য আপনি এটি পাবেন )।
মনে করুন পরিবর্তে আমাদের একটি পরিমাণযুক্ত ক্যাপচারের সাথে নীচের রেজেক্স ছিল
/ ab (cd { say $¢.from, " ", $¢.to } ) + /
এবং দৌড়েছে এটি যদি "abcdcdcd" এর সাথে মিলে যায় তবে নিম্নলিখিত ফলাফলটি দেখবে:
0 2
0 4
0 6
কিন্তু যদি আমরা ব্যবহার থেকে পরিবর্তন $¢
করতে $/
, আমরা একটি ভিন্ন ফলাফলের পাবেন:
2 2
4 4
6 6
( .to
মনে হচ্ছে কিছুটা দূরে থাকার কারণটি হ'ল এটি .pos
— এবং - ক্যাপচার ব্লকের সমাপ্তি অবধি আপডেট হয় না))
অন্য কথায়, $¢
হবে সবসময় কি আপনার চূড়ান্ত ম্যাচ বস্তু (অর্থাত, হতে হবে পড়ুন $final = $text ~~ $regex
যেমন তোমার পরে উপরোক্ত উদাহরণের সমাপ্ত করিয়া হবে পূর্ণ ম্যাচ তাই আপনি ঠিক Regex এক জটিল ক্যাপচার গাছ ভিতরে তর্ক করতে পারেন), আপনি শুধু পারা কি $¢[0]
প্রথম ম্যাচে উল্লেখ করতে $¢[1]
দ্বিতীয়, ইত্যাদি
একটি রেজেক্স কোড ব্লকের অভ্যন্তরে, $/
সর্বাধিক তাত্ক্ষণিক ম্যাচটি উল্লেখ করবে। উপরের ক্ষেত্রে, এটি হ'ল ভিতরে থাকা ( )
এবং এটি অন্য ম্যাচগুলি, না মিলের মূল শুরু: ( )
ব্লকের জন্য কেবল শুরু for সুতরাং আরও জটিল রেগেক্স দিন:
/ a $<foo>=(b $<bar>=(c)+ )+ d /
আমরা foo
টোকেনের সমস্তটি of using ব্যবহার করে যে কোনও সময়ে অ্যাক্সেস করতে পারি $¢<foo>
। আমরা ব্যবহার করে bar
প্রদত্ত কোনও টোকেন অ্যাক্সেস করতে পারি । যদি আমরা এর ক্যাপচারের অভ্যন্তরে কোনও কোড ব্লক প্রবেশ করি , এটি ব্যবহার করে টোকেন অ্যাক্সেস করতে সক্ষম হবে বা , তবে এটি অন্যগুলিতে অ্যাক্সেস করতে সক্ষম হবে না ।foo
$¢<foo>[0]<bar>
foo
bar
$<bar>
$/<bar>
foo
$/
এবং$¢
স্কোপটি ব্যাখ্যা করেছি: পরবর্তীটির কেবলমাত্র রেজেক্সের অভ্যন্তরে একটি মান আছে" এর অর্থ$¢
নিছক একটি অনুসন্ধানী ট্রেস ছিল, ঠিক তেমনইCursor
। আমি যখন আপনার উত্তরটি পড়ি তখন আমি ভেবেছিলাম$¢
যে$*TOP
আমি কি সম্ভাব্য উন্নতিতে তৈরি করেছি? আমার উত্তর বিভাগে এসও "কেন / কীভাবে ক্যাপচার গ্রুপগুলির সাথে পুনরাবৃত্তি সালিসী চরিত্রের মিলের জন্য অতিরিক্ত পরিবর্তনশীল প্রয়োজন?" কিন্তু আমার প্রচেষ্টা প্রতিস্থাপন$*TOP
সঙ্গে$¢
ব্যর্থ হয়েছে। আপনি কি উত্তর আমার বক্তব্য বুঝতে পারি? আপনি এটি কাজ করতে পারেন?