রেজেক্স ডিরেক্টরি নামকরণ


0

আমি রেজেক্সের সাথে দুর্দান্ত নই এবং এটি কেন পরের চরিত্রটি বেছে নিচ্ছে তা অনুধাবন করতে পারছি না -

/[\-][^ - ]/g

তার সাথে এটি নির্বাচন করে - এবং নিম্নলিখিত অক্ষরটি।

আমি দুটি সংখ্যার মধ্যে ড্যাশ নির্বাচন করতে চাই, তবে এর আগে এবং পরে স্থান থাকা কোনও ড্যাশ নির্বাচন করতে চাই না।

বাস্তবে আমি উবুন্টুতে এটি পুনরুক্তিযুক্ত ডিরেক্টরিগুলির নাম পরিবর্তনের জন্য ব্যবহার করার চেষ্টা করছি

#### - ##-##

থেকে

#### - ##:## 

এটি বর্তমানে মিলছে কি আপনি যুক্ত করতে পারেন? এটির বর্তমান আচরণটি কী তা বুঝতে আমার সমস্যা হচ্ছে এবং কেন এটি ভুল?
জনো

উত্তর:


0

সাধারণত কেউ তার চারপাশে থাকা অঙ্কগুলির বিরুদ্ধে ড্যাশ অ্যাঙ্কর করে এমন ধরণের রূপান্তর করতে পারে যেমন,

foo="123 - 456-78"
bar=$(echo "$foo" | sed -r -e 's,([[:digit:]])-([[:digit:]]),\1:\2,')

এটি, প্রতিটি পাশেই একটি সংখ্যার সাথে মেলে এবং অঙ্কগুলি পিছনে রাখার জন্য একটি ব্যাক রেফারেন্স ব্যবহার করে।

আসলে sedএটি নিজেই একটি ভাল উদাহরণ নয়, যেহেতু এটি (যেমন bash) EREs (বর্ধিত নিয়মিত এক্সপ্রেশন) এর ব্যবহার এবং মানক নয় । যাইহোক, যেহেতু এই উবুন্টু জন্য, আমরা আপনি ব্যবহার করছেন অনুমান করতে পারেন গনুহ sed , যা একটি হয়েছে -rEres উল্লেখ জন্য বিকল্প।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.