মডিউল পাঠ (3/4)
পিছনে তাকান: `(?<=...)` `(?<!...)`
পেছন দিকে তাকান হল লুকহেডদের আয়নার প্রতিচ্ছবি: তারা আগে দেখায় বর্তমান অবস্থান, এখনও শূন্য-প্রস্থ।
(?<=...)-- পজিটিভ লুক বিহাইন্ড: প্যাটার্নটি অবশ্যই আগে থাকবে।(?<!...)-- নেতিবাচক লুক বিহাইন্ড: প্যাটার্নটি অবশ্যই আগে থাকবে না।
Pattern: (?<=\$)\d+
Sample: Costo $100, sconto -25, totale $75.
^^^ ^^$ ম্যাচে নেই, কিন্তু একটি শর্ত হিসেবে কাজ করে: শুধুমাত্র সংখ্যা
পূর্বে ডলার চিহ্নের মিল।
নেতিবাচক দৃষ্টিতে
Pattern: (?<!\w)\d+
Sample: Codice abc123 e numero 456.
^^^(?<!\w) এর প্রয়োজন যে সংখ্যার আগে কোনো শব্দের অক্ষর থাকবে না:
abc123 বাদ দেওয়া হয়েছে (123 এর আগে c, একটি \w), 456 ম্যাচ আছে (আগে
একটি স্থান আছে)।
মূল পার্থক্য বনাম নন-ক্যাপচারিং গ্রুপ
\\$\\d+ matches "$100": the match includes the dollar sign.
(?<=\\$)\\d+ matches "100": the match contains ONLY the digits.আপনি যদি উপসর্গ ছাড়াই "পরিষ্কার" মান বের করতে চান, পিছনে দেখুন সঠিক পছন্দ।
জাভাস্ক্রিপ্টে সামঞ্জস্যের পিছনে দেখুন
পজিটিভ (?<=...) এবং নেতিবাচক (?<!...) বর্তমান অবস্থানের আগে কী আছে তা দেখুন। জাভাস্ক্রিপ্টে, তারা ES2018 থেকে শুরু করে সমর্থিত; পুরানো ব্রাউজার বা লিগ্যাসি Node.js ইঞ্জিনে, তারা সিনট্যাক্স সংকলন ত্রুটির কারণ হবে।
চেষ্টা করে দেখুন
পাঠ্যের দাম থেকে শুধুমাত্র সংখ্যাসূচক পরিমাণ ($ চিহ্ন ছাড়া) বের করুন।
ইঙ্গিত দেখান
একটি ইতিবাচক চেহারার পিছনে \\$ সরান (?<=\\$): একটি অবস্থান শর্ত, ম্যাচের অংশ নয়।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
অক্ষর বা অঙ্কের পূর্বে না থাকা অঙ্কগুলির প্রতিটি ক্রম খুঁজুন (অর্থাৎ, 'বিচ্ছিন্ন' সংখ্যা, কোডের অংশ যেমন `abc123` নয়)।
ইঙ্গিত দেখান
আগে একটি অক্ষর বা অঙ্ক থাকলে বাদ দিতে একটি নেতিবাচক চেহারার পিছনে (?<!\\w) ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অতিরিক্ত চ্যালেঞ্জ
Find only the digits of negative numbers (digits preceded by the `-` sign), excluding the minus sign from the match.
ইঙ্গিত দেখান
বিয়োগ চিহ্নটি সরান - পিছনে একটি ইতিবাচক চেহারার ভিতরে (?<=-)।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ