চেষ্টা করুন:
/(?!.*bar)(?=.*foo)^(\w+)$/
পরীক্ষা:
blahfooblah # pass
blahfooblahbarfail # fail
somethingfoo # pass
shouldbarfooshouldfail # fail
barfoofail # fail
নিয়মিত প্রকাশের ব্যাখ্যা
NODE EXPLANATION
--------------------------------------------------------------------------------
(?! look ahead to see if there is not:
--------------------------------------------------------------------------------
.* any character except \n (0 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
bar 'bar'
--------------------------------------------------------------------------------
) end of look-ahead
--------------------------------------------------------------------------------
(?= look ahead to see if there is:
--------------------------------------------------------------------------------
.* any character except \n (0 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
foo 'foo'
--------------------------------------------------------------------------------
) end of look-ahead
--------------------------------------------------------------------------------
^ the beginning of the string
--------------------------------------------------------------------------------
( group and capture to \1:
--------------------------------------------------------------------------------
\w+ word characters (a-z, A-Z, 0-9, _) (1 or
more times (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of \1
--------------------------------------------------------------------------------
$ before an optional \n, and the end of the
string
অন্যান্য রেজেক্স
আপনি যদি কেবল bar
এটির পরে থাকে কেবল তখনই বাদ দিতে চান foo
, আপনি ব্যবহার করতে পারেন
/(?!.*foobar)(?=.*foo)^(\w+)$/
সম্পাদন করা
আপনি আপনার প্রশ্নের নির্দিষ্ট করে তুলতে একটি আপডেট করেছেন made
/(?=.*foo(?!bar))^(\w+)$/
নতুন পরীক্ষা
fooshouldbarpass # pass
butnotfoobarfail # fail
fooshouldpassevenwithfoobar # pass
nofuuhere # fail
নতুন ব্যাখ্যা
(?=.*foo(?!bar))
একটি foo
পাওয়া গেছে তা নিশ্চিত করে তবে সরাসরি অনুসরণ করা হয় নাbar