এই উত্তরটি লেখার সময় , আমাকে s
-ফ্লেগ ( dotall
- ডট মিলছে লাইন ব্রেকগুলি ) ব্যবহার না করে লাইন ব্রেকগুলিতে একচেটিয়াভাবে মিলতে হয়েছিল match
নিয়মিত অভিব্যক্তিগুলি পরীক্ষা করার জন্য ব্যবহৃত সাইটগুলিতে \n
বা মেলে চেষ্টা করার সময় বিভিন্নভাবে আচরণ করে \r\n
।
আমি লক্ষ্য করেছি
Regex101 শুধুমাত্র লাইন ব্রেককে সাথে মেলে
\n
( উদাহরণ - মুছুন\r
এবং এটি মেলে)RegExr linebreaks সাথে মেলে তন্ন তন্ন উপর
\n
কিংবা উপর\r\n
এবং আমি কিছু একটা LINEBREAK মেলে না করতে এটি, ছাড়া, করতে পারেনm
-flag এবং\s
( উদাহরণস্বরূপ )Debuggex আরও বেশি বিভিন্ন আচরণ করবে:
মধ্যে এই উদাহরণে এটি শুধুমাত্র উপর মিলে যায়\r\n
, যখন
এখানে এটি শুধুমাত্র উপর ম্যাচ\n
একই পতাকা এবং ইঞ্জিন নিদিষ্ট সঙ্গে,
আমি m
-ফ্লেগ (মাল্টলাইন - একটি লাইনের ^
শুরু এবং $
শেষের সাথে মিল রাখে) সম্পর্কে পুরোপুরি সচেতন , তবে কখনও কখনও এটি কোনও বিকল্প নয়। সঙ্গে একই \s
, যেমন ট্যাব এবং স্পেস, খুব মেলে।
ইউনিকোড নিউলাইন চরিত্রটি ব্যবহার করার জন্য আমার ধারণা \u0085
সফল হয়নি, সুতরাং:
- নিয়মিত অভিব্যক্তিতে কোনও লাইন ব্রেক (সম্ভবত ভাষাটি নির্বিশেষে নির্বিশেষে) ম্যাচকে সংহত করার জন্য কোনও ব্যর্থ সাফ উপায় আছে?
- উল্লিখিত সাইটগুলি কেন আলাদাভাবে আচরণ করে (বিশেষত ডিবাগেক্স, কেবল
\n
একবারে এবং একবারে একবারে মিলছে\r\n
)?
\r?\n
উভয় \r\n
এবং \n
লাইন সমাপ্তি ক্রম মিলিয়ে । এটি পুরানো \r
ম্যাক সিনট্যাক্সের জন্য কাজ করে না , তবে এটি আজকাল খুব বিরল।
[\r\n]+
- বা এর মতো কিছু