Pattern.quote(String s)সাজানোর কি আপনি চান না। তবে এটি কাঙ্ক্ষিত হতে একটু বামে ছেড়ে যায়; এটি প্রকৃতপক্ষে পৃথক অক্ষরগুলি এড়ায় না, কেবল স্ট্রিংটি মোড়ক করে \Q...\E।
এমন কোনও পদ্ধতি নেই যা আপনি যা সন্ধান করছেন ঠিক তা করে তবে সুসংবাদটি হ'ল জাভা নিয়মিত অভিব্যক্তির সমস্ত বিশেষ চরিত্রের হাত থেকে বাঁচা মোটামুটি সহজ:
regex.replaceAll("[\\W]", "\\\\$0")
কেন এই কাজ করে? ঠিক আছে, ডকুমেন্টেশনের জন্য Patternসুনির্দিষ্টভাবে বলা হয়েছে যে অ-বর্ণমালা অক্ষরগুলি যে অগত্যা পালাতে হবে তা থেকে বাঁচার অনুমতি রয়েছে:
কোনও বর্ণানুক্রমিক চরিত্রের আগে একটি ব্যাকস্ল্যাশ ব্যবহার করা ত্রুটি যা কোনও পালানো নির্মাণকে বোঝায় না; এগুলি নিয়মিত-এক্সপ্রেশন ভাষায় ভবিষ্যতের এক্সটেনশনের জন্য সংরক্ষিত।অক্ষরবিহীন অক্ষরের পূর্বে একটি ব্যাকস্ল্যাশ ব্যবহার করা যেতে পারে character চরিত্রটি অনির্বাচিত নির্মাণের অংশ কিনা তা নির্বিশেষে।
উদাহরণস্বরূপ, ;নিয়মিত অভিব্যক্তিতে কোনও বিশেষ চরিত্র নয়। যাইহোক, আপনি যদি এটি এড়িয়ে যান, Patternতবুও \;হিসাবে ব্যাখ্যা করা হবে; । এখানে আরও কয়েকটি উদাহরণ দেওয়া হল:
> হয়ে \> যা সমতূল্য>
[ হয়ে \[ যা পালিয়ে যাওয়া রূপ[
8 এখন পর্যন্ত 8 ।
\)হয়ে \\\)যা সদস্যরা যারা পালিয়ে গিয়েছিল ফরম \এবং( সংমিশ্রিত।
নোট: চাবিকাঠি "অ-বর্ণানুক্রমিক" এর সংজ্ঞা, যা ডকুমেন্টেশনে সত্যিই "অ মানে শব্দ " অক্ষর, বা অক্ষর সেট বাহিরে অক্ষর [a-zA-Z_0-9]।