আপনি যে প্যাটার্নটি চান তা হ'ল এটি ( রুবারার.কম এ দেখুন ):
^[a-zA-Z0-9_.-]*$
ব্যাখ্যা:
^ লাইন অ্যাঙ্কারের শুরু
$ লাইন অ্যাঙ্কারের শেষ
[...] একটি চরিত্র শ্রেণি সংজ্ঞা
* "শূন্য-বা-আরও" পুনরাবৃত্তি
লক্ষ করুন যে আক্ষরিক ড্যাশ -অক্ষর শ্রেণীর সংজ্ঞায়নের সর্বশেষ অক্ষর, অন্যথায় এর আলাদা অর্থ রয়েছে (অর্থাত্ সীমার)। .এছাড়াও একটি ভিন্ন অর্থ বাহিরে চরিত্র শ্রেণী সংজ্ঞা আছে, কিন্তু ভিতরে, এটা শুধু একটা আক্ষরিক এর.
তথ্যসূত্র
পিএইচপি-তে
আপনি কীভাবে এই প্যাটার্নটি ব্যবহার করতে পারেন তা দেখানোর জন্য এখানে একটি স্নিপেট রয়েছে:
<?php
$arr = array(
'screen123.css',
'screen-new-file.css',
'screen_new.js',
'screen new file.css'
);
foreach ($arr as $s) {
if (preg_match('/^[\w.-]*$/', $s)) {
print "$s is a match\n";
} else {
print "$s is NO match!!!\n";
};
}
?>
উপরের প্রিন্টগুলি ( যেমন আদর্শ আইটেম ডটকম-এ দেখা গেছে ):
screen123.css is a match
screen-new-file.css is a match
screen_new.js is a match
screen new file.css is NO match!!!
মনে রাখবেন \wপরিবর্তে ব্যবহার করে প্যাটার্নটি কিছুটা আলাদা । এটি "শব্দ অক্ষর" এর জন্য অক্ষর শ্রেণি।
এপিআই রেফারেন্স
স্পেসিফিকেশন নোট
এটি আপনার স্পেসিফিকেশন অনুসরণ করে বলে মনে হচ্ছে তবে নোট করুন যে এটির মতো অন্যান্য বিষয়ের সাথে মিলবে .....যা আপনার ইচ্ছা মতো বা নাও হতে পারে। আপনি কোন প্যাটার্নটি মেলতে চান তা যদি আপনি আরও নির্দিষ্ট করে বলতে পারেন তবে রেজেক্স আরও জটিল হবে।
উপরের রেজেক্সটি খালি স্ট্রিংয়ের সাথেও মেলে। আপনার যদি কমপক্ষে একটি চরিত্রের প্রয়োজন হয় তবে পুনরাবৃত্তির জন্য (শূন্য বা +আরও বেশি) পরিবর্তে (এক *বা একাধিক) ব্যবহার করুন।
যাই হোক না কেন, আপনি নিজের স্পেসিফিকেশনটি আরও স্পষ্ট করতে পারেন (রেগেক্স প্রশ্ন জিজ্ঞাসা করার সময় সর্বদা সহায়তা করে) তবে আশা করি আপনি উপরের তথ্য প্রদত্ত প্যাটার্নটি কীভাবে লিখবেন তাও শিখতে পারবেন।