[Powered by Google Translate] [সেমিনার: রেগুলার এক্সপ্রেশন সঙ্গে মিলে যাওয়া প্যাটার্ন]
[জন Mussman-হার্ভার্ড বিশ্ববিদ্যালয়]
[এই হল CS50.-CS50.TV]
ঠিক আছে. ওয়েল, সবাই স্বাগত জানাই. এটি CS50 2012 হয়.
আমার সম্পর্কে নাম John, এবং আমি রেগুলার এক্সপ্রেশন সম্পর্কে আজকের কথা বলা হবে.
রেগুলার এক্সপ্রেশন প্রাথমিকভাবে একটি টুল, কিন্তু মাঝে মাঝে ব্যবহার হয়
কোড সক্রিয়ভাবে মূলত নিদর্শন এবং স্ট্রিং মেলে.
সুতরাং এখানে xkcd থেকে একটি ওয়েব কমিক.
এই কমিক মধ্যে হত্যাকারী আছে যেখানে একটি হত্যা রহস্য আছে
ছুটিতে কারো অনুসরণ করে, এবং চরিত্র আছে
একটি ঠিকানা খুঁজছেন ইমেইলের 200 মেগাবাইটে মাধ্যমে অনুসন্ধান.
এবং তারা রেগুলার এক্সপ্রেশন যিনি জানেন যখন কেউ ছেড়ে দিতে চলেছেন -
সম্ভবতঃ একটি সুপারহিরো - swoops নিচে এবং কিছু কোড লিখেছেন
ও হত্যার রহস্য solves.
তাই সম্ভবতঃ যে আপনি করতে ক্ষমতাপ্রাপ্ত হবে কিছু যে হতে হবে
এই সেমিনার পরে.
আমরা শুধু ভাষা থেকে একটি সংক্ষিপ্ত ভূমিকা প্রদান করে যাচ্ছে
এবং আপনি আপনার নিজের উপর আরও রিসোর্স পরে যেতে যথেষ্ট রেস্ত দিতে.
>> তাই রেগুলার এক্সপ্রেশন ভালো মূলত তাকান.
এই রুবি একটি রেগুলার এক্সপ্রেশন হয়.
এটা ভাষা জুড়ে ভয়ঙ্কর আলাদা না.
আমরা রুবি মধ্যে রেগুলার এক্সপ্রেশন এবং আরম্ভ চিহ্নিত করার জন্য শুধু স্ল্যাশ নেভিগেশন আছে.
এবং এই ইমেইল ঠিকানা প্যাটার্ন জন্য চেহারা একটি রেগুলার এক্সপ্রেশন ব্যবহার করা হয়.
তাই আমরা প্রথম বিট কোনো আলফানিউমেরিক অক্ষরের জন্য দেখায় দেখুন.
ইমেল ঠিকানা প্রায়ই একটি বর্ণানুক্রমিক অক্ষর দিয়ে শুরু করতে হবে, কারণ যে হয়.
এবং তারপর কোন বিশেষ অক্ষর @ চিহ্ন দ্বারা অনুসরণ.
এবং তারপর ডোমেইন নামের জন্য একই জিনিস.
এবং তারপর 2 থেকে 4 টি অক্ষর তাই নেট.,. Com যুক্ত করুন জন্য তাকান, এবং আপনি.
সুতরাং যে রেগুলার এক্সপ্রেশন এর আরেকটি উদাহরণ.
তাই রেগুলার এক্সপ্রেশন টেক্সট patters খোঁজার জন্য প্রোটোকল আছে.
তারা তুলনা, নির্বাচন করা হলে, এবং প্রতিস্থাপন করতে.
একটি ডিরেক্টরির মধ্যে 54 শেষ হওয়া সব ফোন নম্বর খুঁজে বের করা হয় একটি তৃতীয় উদাহরণ তাই.
সুতরাং CS50 ডিরেক্টরি আপ ডেভিড rips আগে আমরা অনুসন্ধান করতে পারে
আমরা প্রথম বন্ধনী আছে যেখানে একটি প্যাটার্ন তারপর 3 নম্বর তারপর, প্রথম বন্ধনী শেষ
আরো 3 নম্বর, একটি ড্যাশ, 2 নম্বর, এবং তারপর 54.
এবং যে আমরা যে অনুসন্ধান করার জন্য একটি রেগুলার এক্সপ্রেশন সঙ্গে আসা পর্যন্ত কিভাবে মূলত হবে.
>> তাই আছে - আমরা CS50 মধ্যে কিছু কাজ আছে ভালো একটি সামান্য বিট যে
তাই রেগুলার এক্সপ্রেশন, - যেমন - dictionary.C ফাইলের মধ্যে
বানান চেক সমস্যা সেট করার জন্য আপনাকে fscanf ব্যবহৃত হতে পারে
অভিধান থেকে একটি শব্দ পড়তে.
এবং আপনি শতাংশ মিঃ 45s 45 অক্ষর বিশিষ্ট একটি পংক্তি খুঁজছেন হয় দেখতে পারেন.
তাই এটি একটি অপূর্ণাঙ্গ রেগুলার এক্সপ্রেশন মত কিছুটা হয়.
এবং আপনি সেখানে বিল মাপসই যে কোনো 45 টি অক্ষর থাকতে পারে
এবং যারা নিতে.
সাম্প্রতিকতম ওয়েব প্রোগ্রামিং সমস্যা এবং তারপর দ্বিতীয় উদাহরণ
পিএইচপি জন্য distro কোড নির্ধারণ আমরা আসলে একটি সহজ রেগুলার এক্সপ্রেশন আছে.
এবং এই এক শুধু শুধু ওয়েব পেজ প্রেরণ করা হয় যে কিনা আপনি খুঁজছেন হয়
হয় সাথে মেলে লগইন অথবা রেজিস্টার logout. পিএইচপি.
এবং তারপর যে রেগুলার এক্সপ্রেশন ম্যাচিং উপর ভিত্তি করে সত্য বা মিথ্যা ফেরত দিচ্ছে.
>> তাই যখন আপনি রেগুলার এক্সপ্রেশন ব্যবহার করব?
কেন আপনি এখানে আজ?
কিছু যে আছে তাই যখন আপনি রেগুলার এক্সপ্রেশন ব্যবহার করতে চান না
এমনকি আরও সহজে আপনার জন্য কাজ আছে.
তাই XML এবং HTML এর আসলে সুন্দর চতুর হয়
আমরা একটি সামান্য বিট দেখতে হবে জন্য রেগুলার এক্সপ্রেশন লিখতে.
সুতরাং যারা ভাষার জন্য ডেডিকেটেড parsers আছে.
আপনি ঘন ঘন বাণিজ্য বিনিময় প্রথাই এবং নির্ভুলতার সঙ্গে ঠিক করা প্রয়োজন.
আপনি চেষ্টা করছেন - যদি তাই আমরা একটি ইমেইল ঠিকানার জন্য একটি রেগুলার এক্সপ্রেশন দেখেছি
কিন্তু আপনি যদি একটি নির্দিষ্ট ইমেইল ঠিকানা চেয়েছিলেন এবং ধীরে ধীরে বলে
এটি আরও ভালো হয়ে ওঠে হিসাবে রেগুলার এক্সপ্রেশন আরো জটিল হতে পারে.
যাতে এক বাণিজ্য বন্ধ করা হবে.
আপনি ঠিক রেগুলার এক্সপ্রেশন সঙ্গে করছেন তা নিশ্চিত হতে হবে.
আপনি খুঁজছি হয় ঠিক কি জানেন যে যদি এটি আরও জানার জন্য করা হতে পারে
সময় রাখা এবং একটি আরো কার্যকর পার্সার লিখতে.
এবং পরিশেষে নিয়মানুবর্তিতা সঙ্গে একটি ঐতিহাসিক সমস্যা আছে
এক্সপ্রেশন এবং ভাষা.
রেগুলার এক্সপ্রেশন আসলে আরো অনেক শক্তিশালী আর হয়
প্রতি রেগুলার এক্সপ্রেশন একটি প্রথাগত অর্থে বলতে.
>> তাই আমি প্রথাগত তত্ত্ব মধ্যে খুব বেশী দূরে যেতে চাই না
কিন্তু অধিকাংশ ভাষায় আমরা আসলে মধ্যে কোড নিয়মিত হয় না.
রেগুলার এক্সপ্রেশন কখনও কখনও যে সব নিরাপদ বিবেচনা করা হয় না কেন এবং এই হল.
তাই মূলত ভাষার জন্য একটি চমস্কি অনুক্রমের আছে,
রেগুলার ইউনিয়ন, সংযুক্তকরণের ব্যবহার বিল্ড আপ করা হয়
এবং আমরা কয়েক মিনিটের মধ্যে Kleene তারা অপারেশন যা দেখতে পাবেন.
আপনি আগ্রহী তত্ত্ব ফণা অধীন সেখানে যাওয়া বেশ অনেক আছে.
>> একটি সংক্ষিপ্ত ইতিহাস তাই - এখানে কনটেক্সট - নিয়মিত সেট এসেছেন
1950 সালে, এবং তারপর আমরা যে সহজ সম্পাদক ছিল
রেগুলার এক্সপ্রেশন অন্তর্ভূক্ত করা - শুধু স্ট্রিং জন্য অনুসন্ধান করা.
Grep - যা একটি কমান্ড লাইন টুল - প্রথম এক
1960 সালে রেগুলার এক্সপ্রেশন অন্তর্ভূক্ত যে খুব জনপ্রিয় সরঞ্জাম.
'80s মধ্যে, পার্ল নির্মিত হয়েছিল - একটি প্রোগ্রামিং ভাষা যে
খুব স্পষ্টভাবে রেগুলার এক্সপ্রেশন অন্তর্ভুক্ত.
এবং তারপর আরো সম্প্রতি আমরা পার্ল সামঞ্জস্যপূর্ণ রেগুলার এক্সপ্রেশন ছিল
মূলত একই বাক্য গঠন অনেক ব্যবহার যে অন্য ভাষায় প্রোটোকল.
অবশ্যই সবচেয়ে গুরুত্বপূর্ণ ঘটনা 2008 সালে ছিল
যেখানে প্রথম জাতীয় রেগুলার এক্সপ্রেশন দিন ছিল,
আপনি যে উদযাপন করতে চান, যা আমি বিশ্বাস করি 1 জুন.
>> এখানে আবার, শুধু একটি সামান্য বিট আরো তত্ত্ব.
তাই রেগুলার এক্সপ্রেশন নির্মাণের একটি দম্পতি বিভিন্ন উপায় আছে.
এক সহজ উপায় আপনি যাচ্ছে যে অভিব্যক্তি গড়ে তুলতে হয়
ব্যাখ্যা স্ট্রিং চালানো - মূলত যে মিনি প্রোগ্রাম একটু নির্মাণ
একটি স্ট্রিং এর টুকরা বিশ্লেষণ এবং দেখতে হবে, "ওহ, এই রেগুলার এক্সপ্রেশন মাপসই করা বা না?"
এবং তারপর যে চালানো.
আপনি একটি খুব ছোট রেগুলার এক্সপ্রেশন আছে যদি তাই হয়, সম্ভবত এই হল
এটা সবচেয়ে বেশি কার্যকরী উপায়.
এবং তারপর আপনি - যদি অন্য কোনো বিকল্প reconstructing রাখা হয়
অভিব্যক্তি আপনি যান, এবং যে অনুকরণ সম্ভাবনা হিসেবে.
এবং নিয়মিত প্রকাশের আলগোরিদিম এই প্রথম প্রচেষ্টা ছিল
তুলনামূলকভাবে সহজ এবং অপেক্ষাকৃত দ্রুত, কিন্তু আছে নমনীয়তা অনেক আছে না.
সুতরাং কিছু আমরা তাকান যাচ্ছে যে এমনকি করতে
আজ আমরা আরো জটিল রেগুলার এক্সপ্রেশন করতে হয়েছে
সম্ভাব্য অনেক ধীর যে বাস্তবায়নের; মনে রাখবেন কিছু যাতে
আক্রমণ বিভিন্ন ধরনের একটি রেগুলার এক্সপ্রেশন অস্বীকার এছাড়াও আছে
এই নতুন বাস্তবায়নের জন্য সম্ভাব্য গ্রহণকারী যে
খুব জটিল হয়ে রেগুলার এক্সপ্রেশন.
এবং আমরা বাফার ওভারফ্লো আক্রমণের দেখেছি প্রায় একই অর্থে,
আপনি যে কাজ যে recursive loops করে আছে আছে
মেমরি ক্ষমতা পদদলিত.
এবং উপায় দ্বারা Regexen রেগুলার এক্সপ্রেশন সরকারি plurals এক
এংলো স্যাক্সন মধ্যে oxen তুলনা করেছিলেন.
>> ঠিক আছে, তাই পাইথন লাইব্রেরী ব্যক্তি এখানে আপনি অনেক Macs-এর আছে,
তাই আসলে আপনি আপনার পর্দায় এই টান আপ করতে পারেন.
রেগুলার এক্সপ্রেশন পাইথন মধ্যে নির্মিত হয়.
তাই পাইথন এই লিঙ্কে Macs-এবং এছাড়াও উপলব্ধ অনলাইন নেভিগেশন preloaded হয়.
আপনি দেখছেন তাই আপনি যদি আপনার বিরতি এবং আপনি পাইথন আছে কি না নিশ্চিত করতে পারেন
আমরা এখানে চারপাশে খেলা হিসেবে.
আপনি শুধু আপনার কম্পিউটারের মধ্যে পাইথন টাইপ তাই যদি একটি ম্যানুয়াল অনলাইন আছে,
আপনি সংস্করণ টার্মিনালে আসে আপ দেখতে পাবেন.
তাই আমি Python-র সংস্করণ 2 সেইসাথে একটি ঠকাই শীট জন্য ম্যানুয়াল পেজে একটি লিঙ্ক দেওয়া.
আছে Python-র একটি সংস্করণ 3, কিন্তু আপনার ম্যাক অগত্যা না
preloaded যে সঙ্গে আসা.
ভয়ঙ্কর আলাদা না.
ঠিক আছে, তাই পাইথন মধ্যে রেগুলার এক্সপ্রেশন ব্যবহার করে কিছু মূলসূত্র.
>> তাই এখানে আমি একটি খুব সহজ অভিব্যক্তি ব্যবহার করা হয়, তাই আমি পাইথন আমদানি পুনরায় করেনি
এবং তারপর re.search ফলাফল গ্রহণ.
এবং খোঁজো 2 আর্গুমেন্ট লাগে.
প্রথম রেগুলার এক্সপ্রেশন, এবং দ্বিতীয় লেখা
অথবা যদি আপনি বিশ্লেষণ করতে চান পংক্তি.
এবং তারপর আমি result.group প্রিন্ট আউট.
সুতরাং এই আজ আমরা দেখতে যাব 2 মৌলিক ফাংশন
রেগুলার এক্সপ্রেশন সম্পর্কে জানতে.
তাই শুধু এই রেগুলার এক্সপ্রেশন এখানে নিচে ভঙ্গ
H ও তারপর \ W এবং তারপর M তাই \ W ঠিক আছে কোন বর্ণের অক্ষর গ্রহণ করা হয়.
সুতরাং এখানে আমরা অন্য বর্ণের অক্ষর একটি "H" খুঁজছেন এবং তারপর হয়
এবং তারপর মি, তাই এখানে হ্যাম মেলে হবে
বলেন যে, "আব্রাহাম লিঙ্কন এবং হ্যাম স্যান্ডউইচ."
এই দলের ফলাফল.
আমরা কি করতে পারি যে আরেকটি বিষয় পাইথন টেক্সট আমাদের আগে স্ট্রিং ব্যবহার.
তাই আমি এগিয়ে যান এবং এখানে যে টান আপ হবে না.
পাইথন আমদানি করছি.
এবং আমি একই জিনিস করতে হলে - আমাদের লেখা বলা যাক
"আব্রাহাম," আমাদের মধ্যে জুম যাক - সেখানে আমরা যেতে.
শিরোনাম "আব্রাহাম হ্যাম eats." হয়
ঠিক আছে, এবং তারপর = re.search ফলে.
এবং তারপর আমাদের অভিব্যক্তি H হতে পারে, এবং তারপর আমি বিন্দু M করবেন.
তাই বিন্দু মাত্র, সংখ্যা সহ একটি নতুন লাইন হয় না কোনো অক্ষর লাগে
শতাংশ লক্ষণ, যে মত কিছু.
এবং তারপর টেক্সট - গম্ভীর গর্জন - এবং তারপর result.group-হ্যাঁ.
সুতরাং এখানে মৌলিক কার্যকারিতা বাস্তবায়ন ঠিক কিভাবে হয়.
যে পাগল টেক্সট - - আমরা একটি টেক্সট রিং ছিল ফিরে স্ল্যাশ প্রচুর বলে অন্তর্ভুক্ত
এবং ভেতরের স্ট্রিং এবং পালাবার ক্রম কেমন দেখাতে পারে যে,
তারপর আমরা সম্ভবত গৃহীত হয়েছে নিশ্চিত করুন যে কাঁচা টেক্সট ইনপুট ব্যবহার করতে চান.
ও ঠিক সেই মতো দেখায়.
আমরা সেখানে তাদের প্রতিটি খুঁজছেন হয়েছে তাই আপনি যদি আমরা কিছু খুঁজে না করা উচিত.
কিন্তু যে আপনি এটা বাস্তবায়ন হবে কিভাবে; ঠিক আগে স্ট্রিং
রেগুলার এক্সপ্রেশন আপনি অক্ষর কিছু করা.
>> ঠিক আছে, তাই আমাদের বর্তা যাক.
ডান সব - তাই আমাদের এখানে কয়েক পুনরাবৃত্তিমূলক নিদর্শন তাকান.
তাই আপনি যদি কাজ করতে চান এক জিনিস যে জিনিস পুনরাবৃত্তি হয়
আপনি টেক্সট এর মাধ্যমে অনুসন্ধান করা হয়.
তাই বো কোন সংখ্যা দ্বারা অনুসরণ করবেন - আপনি এবি * না.
এবং তারপর অন্যান্য নিয়ম একটি ধারাবাহিক খুব আছে.
এবং আপনি এই পর্যন্ত সব তাকান করতে পারেন; আমি শুধু কিছু মাধ্যমে রান করব
সবচেয়ে বেশী ব্যবহার করা হয়.
তাই AB + একটি কোনো নিম্নলিখিত বো 0 অধিক দ্বারা অনুসরণ করা হয়.
এবি? একটি খ 0 বা 1 দ্বারা অনুসরণ.
এবি {n} একটি খ নিম্নলিখিত দ্বারা অনুসরণ, এবং তারপর, তাই হয়.
আপনি কোঁকড়া ধনুর্বন্ধনী মধ্যে 2 নম্বর থাকে, তাহলে আপনি একটি পরিসীমা উল্লেখ করা হয়
যে সম্ভবত মিলেছে হতে পারে.
সুতরাং আমরা একটি মিনিটের মধ্যে একটি দম্পতি পুনরাবৃত্তিমূলক নিদর্শন আরও দেখবে.
সুতরাং এখানে টুল মিলে এই প্যাটার্ন ব্যবহার করার সময় মনে রাখা 2 জিনিষ.
আমরা এইচএম তাকান চান তাই বলে, "আব্রাহাম লিঙ্কন হ্যাম স্যান্ডউইচ করে তোলে."
তাই আমি আব্রাহাম আব্রাহাম লিঙ্কনের নাম পরিবর্তন করেছেন.
এবং এখন আমরা, এই অনুসন্ধান ফাংশন দ্বারা ফিরিয়ে দেওয়া হয় কি খুঁজছেন
এবং এটি শুধুমাত্র এই ক্ষেত্রে হ্যাম ধার্য করা হয়.
এবং এটি শুধু খোঁজো স্বাভাবিকভাবেই বাম সবচেয়ে কিউ লাগে যে কারণ আছে.
এবং আপনি অন্যথায় উল্লেখ না থাকলে সব রেগুলার এক্সপ্রেশন যে কি হবে.
আমরা সব জানতে চেয়েছিলেন যে জন্য একটি ফাংশন আছে - সব এটি.
তাই ঠিক সমস্ত = re.findall ('h.m' লেখা) অনুরূপ হতে পারে
এবং তারপর) (all.group.
সমস্ত হ্যাম এবং হ্যাম উভয় উত্পাদন; প্রতিটি হ্যাম এই ক্ষেত্রে উভয় আব্রাহাম মধ্যে স্ট্রিং.
যাতে অন্য বিকল্প.
>> গ্রেট. মনে রাখা অন্যান্য জিনিস রেগুলার এক্সপ্রেশন intuitively বৃহত্তম নিতে হয়.
আমাদের এই উদাহরণ তাকান চলুন শুরু করা যাক.
আমরা এখানে যে বাম সবচেয়ে খোঁজো করেনি, এবং তারপর আমি আরো বড় খোঁজো প্রয়াস
Kleene তারকা অপারেটর ব্যবহার করে.
তাই, "আব্রাহাম লিঙ্কন, হ্যাম স্যান্ডউইচ তোলে" এবং আমি শুধুমাত্র ফিরে
ফলে মি.
যে ভুল কারণ আমি কোনো নম্বর নিয়েছি যে ছিল
আমি H ও মি মধ্যে যেতে কিছু উল্লেখ করা হয়নি, কারণ এর জ.
M ছিল শুধুমাত্র উদাহরণ - এটা M সঙ্গে সেখানে শুধুমাত্র উদাহরণ
এবং H এর কোন সংখ্যা মাত্র স্ট্রিং M ছিল.
তারপর আমি আবার চেষ্টা; আমি বলেন, "ঠিক আছে, আমাদের এখানে প্রকৃত বৃহত্তম দল পেতে যাক."
এবং তারপর আমি জ করেনি. * মি, শুধু H ও মি মধ্যে অক্ষর কোন সংখ্যা ফেরৎ যাতে.
এবং আপনি শুধু শুরু হয় এবং ঠিক আছে, এই, "ওহ, হবে চিন্তা যদি
আমার সম্পর্কে হ্যাম পেতে, "এটি আসলে আব্রাহাম লিঙ্কন মধ্যে জ থেকে সবকিছু লাগে
হ্যাম শেষ সব পথ আপ.
এটা অর্থগৃধ্নু হয় তা H উদ্ধার - এই সব অন্যান্য টেক্সট - মি,
এবং যে এটি এখনো সদস্য না লাগে তা হল
এটি একটি বিশেষ করে বিখ্যাত - এই আমরা এটিও করতে পারেন একটি বৈশিষ্ট্য
এটি অন্যান্য ফাংশন ব্যবহার অর্থগৃধ্নু হতে না উল্লেখ করুন.
কিন্তু এই আমরা, বিশেষ করে মনে রাখা আছে কিছু
HTML টেক্সট এ খুঁজছেন, তখন কোন এক কারণে যে
রেগুলার এক্সপ্রেশন HTML-এর জন্য কঠিন.
কারণ আপনি মাঝখানে একটি HTML খোলা ট্যাগ এবং তারপর উপাদান প্রচুর আছে যদি
এবং তারপর অন্য কিছু এইচটিএমএল, প্রোগ্রাম অনেক পরে ট্যাগ বন্ধ
আপনি শুধু সম্ভবত ভুল করে আপনার HTML কোড অনেক সাবাড় করা হয়েছে.
>> ঠিক আছে - তাই আরও বিশেষ অক্ষর, অন্যান্য অনেক ভাষার মত,
আমরা স্ল্যাশ ব্যবহার অব্যাহতি.
তাই আমরা একটি নতুন লাইন ছাড়া কোনো চরিত্র উল্লেখ করতে বিন্দু ব্যবহার করতে পারেন.
আমরা কোন বর্ণের অক্ষর নির্দিষ্ট করার পালাবার W ব্যবহার করতে পারেন.
এবং কোনো পূর্ণসংখ্যা জন্য উপমা পালাবার D দ্বারা - সংখ্যাসূচক অক্ষর.
আমরা নির্দিষ্ট করতে পারেন - আমরা সম্পর্কিত এক্সপ্রেশন উল্লেখ করার বন্ধনী ব্যবহার করতে পারেন.
তাই এই A, B, C বা গ্রহণ করা হবে.
এবং আমরা নির্দিষ্ট বা একটি বা বো হয় বিকল্প পারেন.
উদাহরণস্বরূপ - আমরা একাধিক সম্ভাবনার খুঁজছেন ছিল
ব্র্যাকেটের মধ্যে আমরা বা অপারেটর ব্যবহার করতে পারেন -
তাই আমাদের এখানে এই উদাহরণে ফিরে যান.
তারপর আমাদের এখানে এই উদাহরণে ফিরে যান, এবং - এবং এখন আমাদের নিতে
AE নিতে - তাই এটা ফেরত হবে - আমি এই এখনও আব্রাহাম অনুমান.
এই তাই - আমরা সব করতে না - যদি মহান.
তাই আমাদের এখানে টেক্সট আপডেট করা যাক.
"তার hemming যখন আব্রাহাম হ্যাম eats -. Hemming সময়" গ্রেট.
সমস্ত. গ্রেট. এখন আমরা Ham, হ্যাম, এবং Hem পেতে.
Hemming যদিও - তাকে humming সময় - Hem তাকে humming সময়. গ্রেট.
একই জিনিস.
এখন সমস্ত গুন্ গুন্ বা তার উপর অবচয় ছাড়া এখনও ঠিক, Ham Ham, এবং Hem ধার্য করা হয়.
গ্রেট - আমরা হয় তাকান চেয়েছিলেন তাই কি যে - তাই আমরা কিছু করতে পারে
তাকে বা - আমরা যে ফিরে আসতে হবে.
ঠিক আছে - তাই - ঠিক আছে - অবস্থানের মধ্যে আপনি caret বা ডলার চিহ্ন ব্যবহার করতে পারেন
আপনি শুরু করার কিছু বা একটি স্ট্রিং এর শেষে খুঁজছেন যে নির্দিষ্ট করতে.
অথবা আরম্ভের বা একটি শব্দের শেষে.
যে ব্যবহার করার একটি পদ্ধতি.
>> ঠিক আছে - তাই আমাদের লেখার একটা সামান্য বড় ব্লক নিয়ে খেলা যাক.
আমাদের এখানে এই সারি বলা যাক - এই বক্তব্য এখানে.
রেগুলার এক্সপ্রেশন শক্তি তারা নিদর্শন নির্দিষ্ট করতে পারেন
শুধু অক্ষর নির্দিষ্ট নয়.
আমাদের করা যাক - আমাদের এই ব্লক কল করা যাক.
তারপর আমরা যে এখনো সদস্য না হয়ে সব পড়তে হবে
এবং তারপর একটি আছে - আমাদের সব = করা যাক; আমরা লাভজনকভাবে এখানে অনুসন্ধান করতে পারে কিছু জিনিস, তাই কি হয়?
আমরা মত প্রকাশের কান জন্য তাকান পারে.
নেই খুব আকর্ষণীয়. কিভাবে যে বিষয়ে? আমরা কি দেখতে পাবেন.
আমি এটি একটি সমস্যা দিয়েছে.
তাই পুনরায় এবং সব আগে যে কোনো একটি সংখ্যা.
যাতে এ থেকে সম্ভবত সমস্ত পুনরায় কয়েক বার সবকিছু ফেরত পাঠাবেন.
এবং তারপর আমরা এখানে রেগুলার এক্সপ্রেশন শক্তি আছে যে তারা
নিদর্শন উল্লেখ করতে পারেন এখানে অক্ষর না ঠিক আছে.
তাই চূড়ান্ত পুনরায় সব পথ, এটা বাম সবচেয়ে দিয়ে শুরু এবং অর্থগৃধ্নু ছিল.
আমাদের দেখতে দিন - আমরা কি কি দেখাতে পারে.
আপনি সর্বনাম খুঁজছেন আগ্রহী হলে আমি এক জিনিস অনুমান তিনি এবং তিনি
আপনি গুলি 0 বা 1 সমান হচ্ছে পরীক্ষা পারে
এবং অভিব্যক্তি তিনি, এবং যে সম্ভবত ফিরে যাচ্ছে না -
ওহ, আমি সেখানে আমরা এখানে, ক্ষমতা, যে দিন এ হয় খুঁজছেন কারণ তিনি ফিরে আসেন না.
আমাদের এই কিছু শুরু আসা হয়েছে উল্লেখ চেষ্টা করুন.
যে বন্ধ ড্রপ যদি আমাদের দেখতে দিন.
সুতরাং আমরা চর্বি করতে পারেন, এবং সেখানে আমরা কিছু না, কারণ সে এবং তিনি
এই শব্দগুচ্ছ ঘটবে না.
গ্রেট. ঠিক আছে - তাই বিড়াল এখানে.
তাই জটিল নিদর্শন মস্তিষ্কের আঘাত করা হয়.
আমরা এই সমস্যা এড়ানোর জন্য রেগুলার এক্সপ্রেশন ব্যবহার করে কেন যে হয়.
>> সুতরাং এখানে আপনার সাথে প্রায় প্লে করতে পারেন অন্য দরকারী মোড.
আমরা আজকে খোঁজো দিকে তাকিয়ে, কিন্তু আপনার ম্যাচ, বিভক্ত, findall, এবং গ্রুপ ব্যবহার করতে পারেন.
আপনি শুধু ছাড়াও রেগুলার এক্সপ্রেশন সঙ্গে কাজ করতে পারেন যাতে অন্যান্য শীতল জিনিস
নিদর্শন খুঁজছেন একটি প্যাটার্ন গ্রহণ এবং সব ম্যাচ অধিষ্ঠিত করা হয় -
তার ভেরিয়েবল - এবং তারপর পরে আপনার কোড মধ্যে যারা ব্যবহার করে.
যে বেশ সহায়ক হতে পারে. অন্যান্য বিষয় গণনা করা হতে পারে.
সুতরাং আমরা একটি রেগুলার এক্সপ্রেশন প্যাটার্ন ইনস্ট্যান্সের সংখ্যা গণনা করতে পারেন
এবং যে আমরা গ্রুপ ব্যবহার করতে পারেন কি না.
এবং অন্যান্য মোড হিসাবে ভাল করা সম্ভব হয়.
তাই আমি আপনার রেগুলার এক্সপ্রেশন ব্যবহার করতে পারেন অন্য উপায় সম্পর্কে সামান্য বিট আরও কথা বলতে চান.
>> তাই আরও একটি উন্নত আবেদন ঝাপসা ম্যাচিং হয়.
আপনি অভিব্যক্তি, জুলিয়াস সিজার, একটি টেক্সট খুঁজছেন সুতরাং যদি
এবং আপনি অন্য ভাষায় Gaius জুলিয়াস সিজার বা নাম জুলিয়াস সিজার হয় দেখুন
তারপর আপনি ঐ মান কিছু ওজন ধার্য করতে পারেন.
এবং এটি বন্ধ যথেষ্ট না - যদি এটি একটি নির্দিষ্ট থ্রেশহোল্ড পার হলে - তারপর আপনি চান
জুলিয়াস সিজার গ্রহণ করতে সক্ষম হবে.
তাই সেইসাথে একটি কয়েক অন্যান্য ভাষায় যে জন্য একটি দম্পতি বিভিন্ন বাস্তবায়নের আছে.
একটি সহজ সামান্য অ্যাপ্লিকেশন অনলাইন - এখানে কিছু অন্যান্য সরঞ্জাম, Regex পাল হয়
আপনার রেগুলার এক্সপ্রেশন সঠিকভাবে গঠিত হয় কিনা.
আপনি আপনার ডেস্কটপ থেকে চালাতে পারেন যে স্বতন্ত্র সরঞ্জাম আছে
আল্ট্রা Pico, এবং সেইসাথে শুধু cookbooks ভালো লেগেছে.
আপনি রেগুলার এক্সপ্রেশন একটি টন জড়িত একটি প্রকল্প করছেন তাই আপনি যদি
সম্ভবত এই আজ সুযোগ বাইরে যেতে স্থান.
এবং তারপর শুধুমাত্র আপনি কিভাবে এটা সাধারণ একটা ধারনা দিতে
grep ইউনিক্স আছে, পার্ল বিল্ট ইন আছে, এবং সি সি জন্য PCRE আছে
এবং তারপর এই সব অন্যান্য ভাষাসমূহ এছাড়াও রেগুলার এক্সপ্রেশন প্যাকেজ আছে
যে আমরা আজ একটি স্বাদ পেয়েছিলাম মূলত একই বাক্য গঠন সঙ্গে কাজ করে.
পিএইচপি, জাভা, রুবি, এবং তাই.
>> গুগল কোড খোঁজো আসলে কহতব্য, এটা এক
পাবলিক একসেস করতে পারবেন যে সেখানে আউট তুলনামূলকভাবে কয়েক অ্যাপ্লিকেশন
রেগুলার এক্সপ্রেশন ব্যবহার করে তার নিজস্ব ডাটাবেসের মধ্যে.
আপনি Google Code অনুসন্ধান বর্ণন সুতরাং যদি আপনি কোড জানতে পারেন
আপনি একটি ফাংশন ব্যবহার করা হতে পারে কিভাবে একটি উদাহরণস্বরূপ খুঁজছেন,
আপনি বিভিন্ন ক্ষেত্রে সব বিশৃঙ্খলভাবে ব্যবহার করা হচ্ছে যে ফাংশন এটি একটি রেগুলার এক্সপ্রেশন ব্যবহার করতে পারেন.
আপনি fwrite জন্য তাকান পারে, এবং তারপর আপনি লেখার পতাকা সন্ধান বা পড়তে পারে
আপনি যে ক্ষেত্রে ব্যবহৃত হচ্ছে fwrite একটি উদাহরণ চেয়েছিলেন.
এখানে তাই একই জিনিস আছে, এবং কিছু রেফারেন্স আছে.
তাই সামনে যাচ্ছে, সেইসাথে অনলাইন উপলব্ধ হবে
আপনি পাইথন, grep, পার্ল তাকান করতে চান - যদি আপনি শুধু কিছু অনুপ্রেরণা পেতে চান
আপনি এখানে তত্ত্ব আরও দেখতে চাই, যদি বা জায়গা অফ কিছু ভাল জাম্পিং হয়.
আপনাকে অনেক ধন্যবাদ.
[CS50.TV]