টেক্সটমেটে নিয়মিত প্রকাশে না ব্যবহার করা কি সম্ভব?


22

আমার একটি মতলব প্রকল্প রয়েছে যা আমি ওএসএক্স সম্পাদক টেক্সটমেটে কাজ করছি। আমার একটি নির্দিষ্ট শব্দের সমস্ত উদাহরণ খুঁজে পাওয়া দরকার, আসুন এটি "ফু" বলি, এটি "এর আগে হয় না"। বা "/" দ্বারা সফল হয়েছে।

যাইহোক, নিয়মিত প্রকাশের জন্য অনুসন্ধানের কোনও উপায় আমি খুঁজে পাচ্ছি না যা এই জাতীয় নেতিবাচকভাবে সংজ্ঞায়িত হয়েছে। "বি বাদে অন্য কোনও কিছুর আগে পূর্ব" এর মতো কোনও কিছুর সন্ধান করা সম্ভব কিনা তা কি কেউ জানেন?

( টেক্সটমেট ও.সিগুরুমা নিয়মিত এক্সপ্রেশন লাইব্রেরি কে। কোসাকো ব্যবহার করে )

উত্তর:


31

আপনি এই বিট সিনট্যাক্সটি ব্যবহার করতে চান:

(?=subexp)         look-ahead
(?!subexp)         negative look-ahead
(?<=subexp)        look-behind
(?<!subexp)        negative look-behind

তোমার ক্ষেত্রে, (?<!\.)foo(?!/)


1
অসাধারণ! ডকুমেন্টেশনগুলিতে আমি সেগুলি উপেক্ষা করেছি। ধন্যবাদ :)
নাগেল

এটি একটি উজ্জ্বল সমাধান যা fooপাঠ্যের শুরুতে বা শেষে শব্দের সংঘটনকেও বিবেচনা করে ।
সিংহমাইলিকো

13

বর্গাকার বন্ধনীগুলির মধ্যে ^ (সারফ্লেক্স বা ক্যারেট) ভাবটি উপেক্ষা করে। সুতরাং একটি "foo" সন্ধান করার জন্য একটি "এর আগে নয়"। " হবে:

[^.]foo

এটি হওয়া উচিত (^|[^.])(foo)এবং এটিও একটি অতিরিক্ত চরিত্রের সাথে মেলে।
ctrl-alt-delor

ধন্যবাদ, ব্রায়ান! এটি আমি প্রথমে চেষ্টা করেছিলাম বৈকল্পিক, তবে আমি বাক্য গঠনটি বিশৃঙ্খলা করেছিলাম এবং [^ \।] এর পরিবর্তে ^ [\।] চেষ্টা করেছি: পি
নাগেল

1
এটি কাজ করবে না। আপনি '' বাদে সমস্ত চরিত্র চান। যার অর্থ 'যে কোনও চরিত্র'। আপনার এড়াতে হবে: (^ | [^ \।]) (
ফু

[স্টুফ] s, t, u, f অক্ষরের সাথে মেলে। বর্গাকার বন্ধনীগুলির বিষয়বস্তু কোনও অভিব্যক্তি নয়, এগুলি একটি তালিকা। [^।] পিরিয়ড ব্যতীত অন্য কিছু। [^ \।] এমন কিছু যা পিছনে স্ল্যাশ বা বিন্দু নয়। ^ এবং - কেবলমাত্র এমন একটি চরিত্র যা কখনও কখনও []
শেরউড বটসফোর্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.