নিয়মিত অভিব্যক্তিগুলিতে কোন বিশেষ চরিত্রগুলি এড়াতে হবে?


389

আমি সবসময় অনুমান করার চেষ্টা করে ক্লান্ত হয়ে পড়েছি, ' ()[]{}|রে ইত্যাদিেক্সটগুলি প্রয়োগ করার সময় যদি আমার বিশেষ চরিত্রগুলি ' ইত্যাদি ইত্যাদির হাত থেকে বাঁচা যায়।

এটি পৃথক, উদাহরণস্বরূপ, পাইথন, সেড, গ্রেপ, অ্যাড, পার্ল, নাম পরিবর্তন, অ্যাপাচি, সন্ধান এবং আরও অনেক কিছু। এমন কোনও নিয়ম রয়েছে যা বলবে যে আমার কখন হওয়া উচিত, এবং যখন আমার উচিত নয়, তখন বিশেষ চরিত্রগুলি থেকে বাঁচতে পারি? এটি কি পিসিআরই, পসিক্স বা বর্ধিত রেজেক্সপসের মতো রেজিএক্সপ্যাক্স ধরণের উপর নির্ভর করে?


4
ভাল রেজেক্স গ্রন্থাগারগুলিতে escape()রেজেক্স অংশ হিসাবে স্বেচ্ছাচারী স্ট্রিংগুলি ব্যবহার করার অনুমতি দেওয়ার মতো ফাংশন রয়েছে ।
ivan_pozdeev

2
আপনি gskinner.com/RegExr (এটি নিখরচায়) এর মতো অনলাইন রেইগেক্স এক্সপ্রেশন চেকার ব্যবহার করতে পারেন । (টাইপ করুন, তারপরে আপনি যে টাইপ করেছেন টাইপ করেছেন তার উপরে মাউস রাখুন)
হেক্সিকাল

2
সমস্ত অ-অক্ষরীয় অক্ষরগুলি এড়িয়ে চলুন। সময়কাল।
সালমান ভন আব্বাস

2
এই প্রশ্নটি "অন্যান্য" এর অধীনে স্ট্যাক ওভারফ্লো নিয়মিত এক্সপ্রেশন FAQ এ যুক্ত করা হয়েছে ।
aliteralmind

1
এই প্রশ্নটি "এস্কেপ সিকোয়েন্সস" এর আওতায় স্ট্যাক ওভারফ্লো নিয়মিত এক্সপ্রেশন FAQ এ যুক্ত করা হয়েছে ।
aliteralmind

উত্তর:


365

আপনার কোন চরিত্রগুলি অবশ্যই আবশ্যক এবং কোনটি অবলম্বন করা উচিত তা নির্ভর করে আপনি যে রেগেক্স গন্ধটির সাথে কাজ করছেন তার উপর নির্ভর করে।

পিসিআরই, এবং অন্যান্য বেশিরভাগ তথাকথিত পার্ল-সামঞ্জস্যপূর্ণ স্বাদগুলির জন্য, এই বাহ্যিক অক্ষর শ্রেণিগুলি এড়িয়ে চলুন:

.^$*+?()[{\|

এবং এই ভিতরে অক্ষর ক্লাসগুলি:

^-]\

পসিক্স এক্সটেন্ডেড রেজেক্সেসের জন্য (ERE), এই বাইরের অক্ষর শ্রেণিগুলি (পিসিআরই-এর মতো) এড়িয়ে চলুন:

.^$*+?()[{\|

অন্য কোনও অক্ষরকে ছেড়ে যাওয়া পসিক্স ইআর-এর একটি ত্রুটি।

অক্ষর শ্রেণীর ভিতরে, ব্যাকস্ল্যাশ POSIX নিয়মিত এক্সপ্রেশনগুলির মধ্যে একটি আক্ষরিক চরিত্র। আপনি কিছু এড়াতে এটি ব্যবহার করতে পারবেন না। আপনি যদি অক্ষর শ্রেণীর মেটাচার্যাক্টরগুলিকে আক্ষরিক হিসাবে অন্তর্ভুক্ত করতে চান তবে আপনাকে "চতুর প্লেসমেন্ট" ব্যবহার করতে হবে। আক্ষরিক মিলের জন্য অক্ষর শ্রেণীর শুরু বা শেষে - lite শুরুতে, [] শুরুতে এবং যে কোনও জায়গায় রাখুন, যেমন:

[]^-]

পসিক্স বেসিক নিয়মিত এক্সপ্রেশন (বিআরই) এ, এগুলি এমন মেটাচার্যাক্ট যা তাদের অর্থ দমন করতে আপনাকে পালাতে হবে:

.^$*[\

বিআরইএসে বন্ধনী এবং কোঁকড়ানো বন্ধনীগুলি এষেপিংয়ের মাধ্যমে তাদের অনাকাঙ্কিত সংস্করণগুলি ERE তে বিশেষ অর্থ দেয়। কিছু বাস্তবায়ন (যেমন জিএনইউ) পালানোর সময় অন্যান্য চরিত্রগুলিকেও বিশেষ অর্থ দেয় যেমন \? এবং +। ^ $ * () {Than ব্যতীত অন্য কোনও চরিত্রের সন্ধান করা সাধারণত বিআরইএস-এর একটি ত্রুটি।

চরিত্রের ক্লাসগুলির অভ্যন্তরে, বিআরইগুলি পূর্বের মতো একই নিয়ম অনুসরণ করে।

যদি এই সমস্ত আপনার মাথা ঘুরিয়ে তোলে, তবে রেগেক্সবাডি এর একটি অনুলিপি ধরুন । তৈরি ট্যাবে, টোকেন সন্নিবেশ করান এবং তারপরে লিটারাল ক্লিক করুন। প্রয়োজন অনুসারে রেগেক্সবাডি পলায়ন যোগ করবে।


1
আমার কাছে মনে হচ্ছে আপনি "/" ভুলে গেছেন, যা ক্লাসের বাইরেও পালানো দরকার।
জ্যাকথিপস্টার

11
/আমি উল্লিখিত নিয়মিত এক্সপ্রেশন স্বাদগুলির কোনওটিতে মেটাচারাকর নয়, তাই নিয়মিত প্রকাশের বাক্য গঠনটি এড়িয়ে যাওয়ার প্রয়োজন হয় না। একটি রেগুলার এক্সপ্রেশন একটি প্রোগ্রামিং ভাষায় একটি আক্ষরিক, তাহলে সেই ভাষার স্ট্রিং বা Regex ফর্ম্যাটিং বিধিগুলি প্রয়োজন হতে পারে হিসাবে উদ্ধৃত করা হয় যখন /বা "বা 'পলান করা, এবং এমনকি প্রয়োজন হতে পারে `\` দোকর পলান করা হবে।
জান গোয়েভার্টস

2
কোলন সম্পর্কে কি, ":"? এটি কি চরিত্রের ক্লাসের পাশাপাশি বাইরেও পালানো যায়? en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions বলে "PCRE সামঞ্জস্যপূর্ণ পলায়নের নিয়ম আছে: কোনো অ-আলফা-সাংখ্যিক অক্ষর এর আক্ষরিক মান [...] মানে পলান হতে পারে"
nicolallias

4
পালানো হতে পারে একইভাবে নয়, পালাতে হবে। পিসিআরই সিনট্যাক্সের জন্য কখনই আক্ষরিক কোলন থেকে বাঁচতে হয় না, সুতরাং আক্ষরিক কলোনের হাতছাড়া হওয়া কেবল আপনার রেজেেক্সকে পড়া শক্ত করে তোলে।
জান গোয়েভার্টস

1
নন-পজিক্স ইয়ারের জন্য (টিসিএল এটি প্রয়োগ করে বলেই আমি সবচেয়ে বেশি ব্যবহার করি) অন্য জিনিসগুলি এড়িয়ে যাওয়া ত্রুটি তৈরি করে না।
slebetman

61

আধুনিক রেগেক্স ফ্লেভারস (পিসিআরই)

সি, সি ++, ডেলফি, এডিটপ্যাড, জাভা, জাভাস্ক্রিপ্ট, পার্ল, পিএইচপি (প্রিগ), পোস্টগ্র্যাসকিউএল, পাওয়ারগ্রিপ, পাওয়ারশেল, পাইথন, রিয়েলবাসিক, রিয়েল স্টুডিও, রুবি, টিসিএল, ভিবি.নেট, ভিবিএস স্ক্রিপ্ট, ডাব্লু এক্সজেডস, এক্সএমএল স্কিমা, জোজো, XRegExp।
পিসিআরই সামঞ্জস্যতা বিভিন্ন হতে পারে

    কোথাও: . ^ $ * + - ? ( ) [ ] { } \ |


লিগ্যাসি রেজেক্সেক্স স্বাদ (বিআরই / ইআরই)

ওড়না, এড, এগ্রিপ, ইমাকস, জিএনউলিব, গ্রেপ, পিএইচপি (ইরেগ), মাইএসকিউএল, ওরাকল, আর, সেড অন্তর্ভুক্ত রয়েছে।
পিসিআরই সমর্থন পরবর্তী সংস্করণগুলিতে বা এক্সটেনশানগুলি ব্যবহার করে সক্ষম করা যেতে পারে

Ere / awk / egrep / Emacs

    একটি অক্ষর শ্রেণীর বাইরে: একটি অক্ষর শ্রেণীর . ^ $ * + ? ( ) [ { } \ |
    ভিতরে:^ - [ ]

BRE / ইডি /, grep / কিন্তু

    একটি অক্ষর শ্রেণীর বাইরে: একটি অক্ষর শ্রেণীর . ^ $ * [ \
    অভ্যন্তরে: ^ - [ ]
    আক্ষরিক জন্য, + ? ( ) { } |
    এড়িয়ে চলবেন না: স্ট্যান্ডার্ড রেজেক্স আচরণের জন্য, পালানো:\+ \? \( \) \{ \} \|


মন্তব্য

  • কোনও নির্দিষ্ট চরিত্র সম্পর্কে অনিশ্চিত হলে, এটির মতো পালানো যায় \xFF
  • আলফানিউমেরিক অক্ষরগুলি ব্যাকস্ল্যাশ দিয়ে পালানো যায় না
  • যথেচ্ছ প্রতীকগুলি পিসিআরইতে একটি ব্যাকস্ল্যাশ দিয়ে পালানো যায়, তবে বিআরই / ইআরই হয় না (প্রয়োজনে তাদের কেবল পালাতে হবে)। পিসিআরই জন্য ] -কেবল একটি অক্ষর শ্রেণীর মধ্যেই পালানো দরকার, তবে আমি এগুলি সরলতার জন্য একটি তালিকাতে রেখেছি
  • উদ্ধৃত প্রকাশের স্ট্রিংগুলিতে অবশ্যই আশেপাশের উদ্ধৃতি অক্ষরগুলি পালাতে হবে এবং প্রায়শই ব্যাকস্ল্যাশ দ্বিগুণ হয়ে থাকে (যেমন জাভাস্ক্রিপ্টে "(\")(/)(\\.)"বনাম /(")(\/)(\.)/)
  • পালিয়ে যাওয়া বাদে, বিভিন্ন রেজেক্স বাস্তবায়নগুলি বিভিন্ন সংশোধক, অক্ষর শ্রেণি, অ্যাঙ্কর, কোয়ান্টিফায়ার এবং অন্যান্য বৈশিষ্ট্যগুলিকে সমর্থন করতে পারে। আরও তথ্যের জন্য, নিয়মিত- এক্সপ্রেশন.ইনফো দেখুন , বা আপনার এক্সপ্রেশনগুলি লাইভ পরীক্ষা করতে regex101.com ব্যবহার করুন

1
আপনার উত্তরে অনেক ত্রুটি রয়েছে, এতে অন্তর্ভুক্ত রয়েছে তবে সীমাবদ্ধ নয়: আপনার "আধুনিক" স্বাদগুলির কোনওটিরই অক্ষর শ্রেণির বাইরের অংশ -বা পালানোর প্রয়োজন নেই ]। পজিক্স (বিআরই / ইআরই) এর অক্ষর শ্রেণীর ভিতরে একটি পালানোর অক্ষর নেই। ডেলফির আরটিএলে রিজেক্স গন্ধটি আসলে পিসিআরই ভিত্তিক। পাইথন, রুবি এবং এক্সএমএলের নিজস্ব স্বাদ রয়েছে যা পসিক্স ফ্লেভারগুলির চেয়ে পিসিআরআইয়ের কাছাকাছি।
জান গোয়েভার্টস

1
@ জাংগোয়েভার্টস সংশোধন করার জন্য ধন্যবাদ। আপনি যে স্বাদগুলি উল্লেখ করেছেন সেগুলি অবশ্যই পিসিআরই-র কাছাকাছি। পালিয়ে যাওয়ার জন্য, আমি তাদের সরলতার জন্য সেভাবে রেখেছি; কয়েকটি ব্যাতিক্রমের চেয়ে কেবল সর্বত্র পালানো মনে রাখা সহজ। বিদ্যুৎ ব্যবহারকারীরা যদি কিছু ব্যাকস্ল্যাশগুলি এড়াতে চান তবে তারা কী হবে তা জানতে পারবে। যাইহোক, আমি আমার জবাবটি কয়েকটি স্পষ্টির সাথে আপডেট করেছি যা আশা করি এই স্টাফগুলির মধ্যে কয়েকটিকে সম্বোধন করবে।
বিউজর

22

দুর্ভাগ্যক্রমে আপনারা যে ভাষা ব্যবহার করছেন তার উপর ভিত্তি করে পালানোর কোডগুলির সেট নেই।

যাইহোক, নিয়মিত এক্সপ্রেশন সরঞ্জাম পৃষ্ঠা বা এই নিয়মিত এক্সপ্রেশন চিটসীটের মতো পৃষ্ঠা রাখা আপনাকে জিনিসগুলি দ্রুত ফিল্টার আউট করার জন্য আরও দীর্ঘ পথ যেতে পারে।


1
অ্যাডডবাইটস চিট শীটটি গুরুতরভাবে ওভারসিম্প্লিফাইড হয়েছে এবং এতে কিছু চমকপ্রদ ত্রুটি রয়েছে। উদাহরণস্বরূপ, এটি কথার সীমানা বলছে \<এবং \>তা হ'ল, যা বুস্ট রেজেক্স লাইব্রেরিতে কেবল (এএফএআইকি) সত্য। কিন্তু অন্যত্র এটা বলে <এবং >metacharacters হয় এবং (পালিয়ে হবে \<এবং \>) তাদের আক্ষরিক অর্থ, কোন গন্ধ যা সত্য নয় মেলে
অ্যালেন মুর

5

দুর্ভাগ্যক্রমে, (এবং like (যেমন ইমাকস স্টাইলের নিয়মিত প্রকাশ এবং বেশিরভাগ অন্যান্য শৈলীর মধ্যে স্বরূপ নেওয়া হয়। সুতরাং আপনি যদি এগুলি থেকে বাঁচার চেষ্টা করেন তবে আপনি যা চান তার বিপরীত কাজ করতে পারেন।

সুতরাং আপনি কী স্টাইলটি উদ্ধৃত করার চেষ্টা করছেন তা সত্যিই আপনাকে জানতে হবে।


5

POSIX নিয়মিত প্রকাশের উপর একাধিক প্রকারের স্বীকৃতি দেয় - বেসিক নিয়মিত এক্সপ্রেশন (BRE) এবং বর্ধিত নিয়মিত এক্সপ্রেশন (ERE)। এবং তারপরেও, পসিক্স দ্বারা প্রমিতকরণকৃত ইউটিলিটিগুলির historicalতিহাসিক বাস্তবায়নের কারণে অদ্ভুততা রয়েছে।

কোন স্বরলিপি ব্যবহার করতে হবে বা কোনও প্রদত্ত আদেশটি ব্যবহার করে এমন কোনও স্বরলিপি ব্যবহার করার জন্য একটি সহজ নিয়ম নেই।

জেফ ফ্রেডেলের মাস্টারিং নিয়মিত এক্সপ্রেশন বইটি দেখুন।


4

সত্যিই, নেই। প্রায় অর্ধ-জিলিয়ন বিভিন্ন রেজেক্স সিনট্যাক্স রয়েছে; তারা পার্ল, ইএমএসিএস / জিএনইউ এবং সাধারণভাবে এটিএন্ডটি-তে নেমেছে বলে মনে হচ্ছে তবে আমি সবসময় অবাক হয়ে যাচ্ছি।


4

আপনার তালিকাভুক্ত অক্ষরগুলির সাথে মাঝে মাঝে সহজ পালানো সম্ভব হয় না। উদাহরণস্বরূপ, একটি বন্ধনী থেকে বাঁচতে ব্যাকস্ল্যাশ ব্যবহার করে সেডে একটি প্রতিস্থাপনের স্ট্রিংয়ের বাম পাশে কাজ করবে না, যথা

sed -e 's/foo\(bar/something_else/'

আমি পরিবর্তে কেবল একটি সাধারণ চরিত্রের শ্রেণি সংজ্ঞা ব্যবহার করি, তাই উপরের অভিব্যক্তিটি হয়ে যায়

sed -e 's/foo[(]bar/something_else/'

যা আমি বেশিরভাগ রেজিপক্স বাস্তবায়নের জন্য কাজগুলি পাই।

বিটিডাব্লু ক্যারেক্টার ক্লাসগুলি বেশ ভ্যানিলা রিজেক্সপ উপাদান হয় তাই তারা বেশিরভাগ পরিস্থিতিতে যেখানে আপনার রেজিএক্সপসে পালিয়ে যাওয়া অক্ষরের প্রয়োজন সেখানে কাজ করার প্রবণতা রয়েছে।

সম্পাদনা: নীচের মন্তব্যের পরে, আমি কেবল ভেবেছিলাম যে আমি পুনঃপ্রকাশ মূল্যায়নের আচরণের দিকে তাকানোর সময় সীমাবদ্ধ রাষ্ট্র অটোমাতা এবং নন-সসীম রাষ্ট্র অটোমাতার মধ্যে পার্থক্যটি বিবেচনা করতে হবে।

আপনি "চকচকে বল বই" ওরফে ইফেক্টিভ পার্ল ( স্যানিটাইজড অ্যামাজন লিঙ্কটি) দেখতে পছন্দ করতে পারেন ), বিশেষত নিয়মিত অভিব্যক্তিগুলির অধ্যায়টি দেখতে চান, যাতে রেজিএক্সএক্স ইঞ্জিনের মূল্যায়ন ধরণের ক্ষেত্রে তফাত্ অনুভব করা যায়।

বিশ্বের সমস্ত পিসিআরই নয়!

যাইহোক, রেঞ্জএক্সপ এসএনওবোলের সাথে তুলনা করে এতটাই ক্লানকি ! এখন এটি একটি আকর্ষণীয় প্রোগ্রামিং কোর্স ছিল! সাথে সিমুলার ওপরে

70 এর দশকের শেষদিকে ইউএনএসডাব্লুতে পড়াশুনার আনন্দ আহ! (-:


'সেড' হ'ল একটি কমান্ড যার জন্য প্লেইন '(' বিশেষ নয় তবে 'is (' বিশেষ; বিপরীতে, পিসিআরই ইন্দ্রিয়কে বিপরীত করে, তাই '(' বিশেষ, তবে '\ (' নয়) এটি ঠিক তাই ওপি সম্পর্কে জিজ্ঞাসা করছে
জোনাথন লেফলার

সেড একটি * নিক্স ইউটিলিটি যা regexp মূল্যায়নের সবচেয়ে আদিম সেটগুলির মধ্যে একটি ব্যবহার করে। আমি যে পরিস্থিতিতে বর্ণনা করেছি তাতে পিসিআরই প্রবেশ করে না কারণ এতে রেগেক্সপসকে যেভাবে মূল্যায়ন করা হয় তার সাথে (ইন) সসীম অটোমাতার বিভিন্ন শ্রেণি জড়িত। আমি মনে করি regexp সিনট্যাক্সের সর্বনিম্ন সেটের জন্য আমার পরামর্শটি এখনও ধরে আছে।
রব ওয়েলস

1
পসিক্স-কমপ্লায়েন্ট সিস্টেমে সেড পসিক্স বিআরই ব্যবহার করে, যা আমি আমার উত্তরে coverেকে রাখি। আধুনিক লিনাক্স সিস্টেমের জিএনইউ সংস্করণে কয়েকটি এক্সটেনশন সহ পসিক্স বিআরই ব্যবহার করে।
জান গোয়েভার্টস

2

পিএইচপি-র জন্য, "এটি নিজের জন্য দাঁড়িয়ে আছে তা নির্দিষ্ট করে" \ "দিয়ে একটি অ-অক্ষরবৃদ্ধির আগে আগে নিরাপদ থাকে" " - http://php.net/manual/en/regexp.references.escape.php

এটি "বা '। বাদে: /

পিএইচপি-তে রেজেক্স প্যাটার্ন ভেরিয়েবলগুলি (বা আংশিক ভেরিয়েবলগুলি) এড়ানোর জন্য preg_quote () ব্যবহার করুন


2

কখন এবং কী চেষ্টা করে পালাতে হবে তা জানার জন্য স্ট্রিংয়ের মধ্য দিয়ে প্রসঙ্গের শৃঙ্খলাটি অবশ্যই সংক্ষিপ্তভাবে বুঝতে হবে। আপনি স্ট্রিংয়ের সর্বাধিক দিক থেকে তার চূড়ান্ত গন্তব্য পর্যন্ত উল্লেখ করবেন যা মেমরিটি রেজিএক্সপেক্স পার্সিং কোড দ্বারা পরিচালিত।

মেমরিতে স্ট্রিংটি কীভাবে প্রক্রিয়াজাত করা হয় তা সচেতন হন: যদি কোডের অভ্যন্তরে একটি সরল স্ট্রিং হতে পারে, বা কমান্ড লাইনে প্রবেশ করা একটি স্ট্রিং হতে পারে তবে শেল স্ক্রিপ্ট ফাইলের মধ্যে বর্ণিত একটি ইন্টারেক্টিভ কমান্ড লাইন বা কমান্ড লাইন হতে পারে, বা কোড দ্বারা উল্লিখিত মেমরির একটি ভেরিয়েবলের ভিতরে, বা আরও মূল্যায়নের মাধ্যমে একটি (স্ট্রিং) যুক্তি, বা কোনও ধরণের এনক্যাপসুলেশন সহ গতিশীলভাবে কোড উত্পন্ন একটি স্ট্রিং ...

এই প্রসঙ্গে প্রতিটি বিশেষ কার্যকারিতা সহ কিছু অক্ষর নির্ধারণ করে।

যখন আপনি চরিত্রটি তার বিশেষ ফাংশন (প্রসঙ্গে স্থানীয়) ব্যবহার না করে অক্ষরে অক্ষরে পাস করতে চান তবে এরপরের প্রেক্ষাপটের জন্য আপনাকে এড়াতে হবে ... যার জন্য আরও কিছু পালানোর অক্ষর প্রয়োজন হতে পারে যা অতিরিক্ত হতে পারে পূর্ববর্তী প্রসঙ্গে (গুলি) পালিয়ে গেছে। এছাড়াও চরিত্রের এনকোডিংয়ের মতো জিনিস থাকতে পারে (সর্বাধিক কুখ্যাত এটি utf-8 কারণ এটি সাধারণ চরিত্রগুলির জন্য ASCII এর মতো লাগে তবে এটির সেটিংসের উপর নির্ভর করে টার্মিনাল দ্বারা optionচ্ছিকভাবে ব্যাখ্যা করা যায় যাতে এটি আলাদাভাবে আচরণ করতে পারে, তারপরে HTML এর এনকোডিং বৈশিষ্ট্য / এক্সএমএল, প্রক্রিয়াটি সঠিকভাবে বোঝা দরকার necessary

উদাহরণস্বরূপ কমান্ড লাইনের একটি রেজিপ্সপ দিয়ে শুরু হওয়া perl -npe, ফাইল হ্যান্ডলগুলি পাইপ হিসাবে সংযোগকারী এক্সিকিউটি সিস্টেম কলগুলির একটি সেটগুলিতে স্থানান্তর করা দরকার , এই এক্সিকিউটিভ সিস্টেমের প্রতিটি কলের মধ্যে কেবল আর্গুমেন্টের একটি তালিকা থাকে যা (অরক্ষিত) স্পেস দ্বারা পৃথক করা হয়েছিল, এবং সম্ভবত পাইপ (|) এবং পুনঃনির্দেশ (> এন> এন> এবং এম), প্রথম বন্ধনী, এবং এর ইন্টারেক্টিভ সম্প্রসারণ *এবং ?,$(())... (এগুলি সমস্ত * sh দ্বারা ব্যবহৃত বিশেষ অক্ষর যা পরবর্তী প্রসঙ্গে নিয়মিত অভিব্যক্তির চরিত্রের সাথে হস্তক্ষেপ বলে মনে হতে পারে, তবে সেগুলি যথাযথভাবে মূল্যায়ন করা হয়: কমান্ড লাইনের আগে। কমান্ড লাইনটি একটি দ্বারা পঠিত হয় বাশ / শ / সিএসএস / টিসিএসএস / জেডএস হিসাবে প্রোগ্রাম, মূলত ডাবল উদ্ধৃতি বা একক উদ্ধৃতিতে রক্ষা পাওয়া সহজ তবে কমান্ড লাইনে একটি স্ট্রিং উদ্ধৃত করার প্রয়োজন হয় না কারণ বেশিরভাগ জায়গাকে ব্যাকস্ল্যাশ সহ উপস্থাপন করা হয় এবং উদ্ধৃতিটি হ'ল অক্ষর * এবং? এর বিস্তৃত কার্যকারিতা উপলব্ধ রাখার প্রয়োজন নেই, তবে এই উদ্ধৃতিটির মধ্যে বিভিন্ন প্রসঙ্গ হিসাবে বিশ্লেষণ করুন Then তারপরে যখন কমান্ড লাইনটি মেমরিতে প্রাপ্ত রেজিপেক্সকে মূল্যায়ন করা হয় (কমান্ড লাইনে লেখা নেই) তার মতো একই চিকিত্সা গ্রহণ করে উত্স ফাইলে থাকবে reপার্ল নিয়মিত এক্সপ্রেশনটি অ্যালফা-সংখ্যাসূচক অক্ষরের একটি বড় সেট দ্বারা উদ্ধৃত করা যেতে পারে (উদাহরণস্বরূপ // // মি: / আরও ভাল / জন্য / পথ: ...)।

অন্যান্য উত্তরের অক্ষর সম্পর্কে আপনার কাছে আরও বিশদ রয়েছে যা চূড়ান্ত রেজিএক্সপেক্স প্রসঙ্গে খুব নির্দিষ্ট। যেমনটি আমি উল্লেখ করেছি যে আপনি প্রয়াসের সাথে রেজিএক্সপ্রেসকে খুঁজে পেয়েছেন, সম্ভবত বিভিন্ন কারণে বিভিন্ন প্রসঙ্গে চরিত্রের বিভিন্ন সেট রয়েছে যা আপনার প্রচেষ্টার স্মৃতিটিকে বিভ্রান্ত করে তোলে (প্রায়শই ব্যাকস্ল্যাশ তার বিভিন্ন ক্রিয়াকলাপের পরিবর্তে আক্ষরিক চরিত্র থেকে বাঁচতে এই বিভিন্ন প্রসঙ্গে ব্যবহৃত চরিত্রটি বলে )।



0

আয়নিক (টাইপস্ক্রিপ্ট) এর জন্য আপনাকে অক্ষরগুলি বাদ দিতে ডাবল স্ল্যাশ করতে হবে। উদাহরণস্বরূপ (এটি কিছু বিশেষ অক্ষরের সাথে মেলে):

"^(?=.*[\\]\\[!¡\'=ªº\\-\\_ç@#$%^&*(),;\\.?\":{}|<>\+\\/])"

এই ] [ - _ . /চরিত্রগুলিতে মনোযোগ দিন । তাদের ডাবল কষতে হবে। যদি আপনি এটি না করেন তবে আপনার কোডে আপনার টাইপ ত্রুটি হতে চলেছে।

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