স্ট্রিংয়ের জন্য নিয়মিত অভিব্যক্তি যা ক্রম দিয়ে শুরু হয় না


197

আমি এই প্রোগ্রামটি ব্যবহার করে একগুচ্ছ টেবিলগুলি প্রক্রিয়া করছি , তবে "tbd_" লেবেলটি দিয়ে শুরু হওয়া বিষয়গুলি আমার উপেক্ষা করতে হবে। এখনও অবধি আমার কাছে [^ tbd_] এর মতো কিছু রয়েছে তবে তা কেবল এই অক্ষরের সাথে মেলে না।


স্কিমাএসপিএস কীভাবে কাজ করে? আপনি কি এটিকে টেবিলের নামের একটি তালিকা দিয়ে যাচ্ছেন বা আপনি এটি একটি রেইগেক্স পাস করছেন এবং এটি মিলছে?
মার্ক বাইক

আমি একটি রেইজেক্স পাস করছি (এটি -i পতাকা) এবং এটি ম্যাচগুলি আমদানি করবে, বা এটি কোনও
অবস্থাতেই বলবে

4
@ চেকব্লেজ: আপনি যদি এক্সএমএল প্রসেস করছেন তবে আপনি এক্সএমএল পার্সার ব্যবহার করবেন না কেন? এটি নিয়মিত এক্সপ্রেশন ব্যবহার করার চেয়ে অনেক সহজ হবে।
গম্বো

উত্তর:


333

আপনি নেতিবাচক চেহারা-এগিয়ে দৃ as়তা ব্যবহার করতে পারেন:

^(?!tbd_).+

বা নেতিবাচক চেহারা পিছনে দৃser়তা:

(^.{1,3}$|^.{4}(?<!tbd_).*)

বা কেবল সাধারণ পুরানো চরিত্র সেট এবং বিকল্পগুলি:

^([^t]|t($|[^b]|b($|[^d]|d($|[^_])))).*

6
এটি কি কোনও নির্দিষ্ট রেজেক্স ইঞ্জিনের মধ্যে সীমাবদ্ধ?
মার্ক বাইক

1
আমি কেবল জিজ্ঞাসা করি কারণ দ্বিতীয়টি এখনও আমার পরীক্ষায় tbd_ এর সাথে মিলছে। প্রথমটি যদিও দুর্দান্ত।
মার্ক বাইক

5
নিয়মিত-এক্সপ্রেশন.ডিনফোর স্বাদ তুলনাটি একবার দেখুন: নিয়মিত- এক্সপ্রেশনগুলি.নোফোরো
গম্বো

1
@ গম্বো - এর কি শেষ হওয়া উচিত? * এর পরিবর্তে। +? Tbd_ এমন একটি স্ট্রিংও এর সাথে শুরু হয় ... সুতরাং সংজ্ঞা অনুসারে অন্য কোনও চরিত্র অনুসরণ করার দরকার নেই? অন্যথায়, ভাল উদাহরণ। এটা তোলে করেন একটি Regex ইঞ্জিন সমর্থন যদিও lookaround প্রয়োজন।
বেনআলাবাস্টার

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