Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: RegEx question

by ikegami (Patriarch)
on Dec 21, 2017 at 22:14 UTC ( [id://1206003]=note: print w/replies, xml ) Need Help??


in reply to RegEx question

If you mean "something that isn't bank" (as you said),

/ ^ (?: .{0,3} | (?!bank}.{4} | .{5,} ) nova [ ] scotia (?: .{0,3} | (?!bank}.{4} | .{5,} ) $ /sx

Alternative:

/ ^ (?: | [^b].* | b[^a].* | ba[^n].* | ban[^k].* | bank.+ ) nova [ ] scotia (?: | [^b].* | b[^a].* | ba[^n].* | ban[^k].* | bank.+ ) $ /sx

If you mean "something that doesn't contain bank",

/ ^ (?: (?!bank). )* nova [ ] scotia (?: (?!bank). )* $ /sx

Replies are listed 'Best First'.
Re^2: RegEx question
by vit (Friar) on Dec 21, 2017 at 22:41 UTC
    Is it possible to write it without Pattern Modifiers? In other words without /sx

      Sure, just squish it all together (untested)
          /^(?:(?!bank).)*nova[ ]scotia(?:(?!bank).)*$/
      and remember that  . (dot) no longer "matches all." But why would you want to?

      Update: Actually, you no longer need the character class (update: because without  /x a space is a literal space):
          /^(?:(?!bank).)*nova scotia(?:(?!bank).)*$/
      and if you just gotta get rid of that last space:
          /^(?:(?!bank).)*nova\x20scotia(?:(?!bank).)*$/
      (both still untested).


      Give a man a fish:  <%-{-{-{-<

        Because I need it for both Perl and Java. Looks like this works, thank you very much !!!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1206003]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2024-04-24 07:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found