Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Alternation in Regular Expressions (See related posts)

The following code from an irb session highlights optional pattern matching using an OR operator, represented as a bar (|).

irb(main):003:0> "chickens are sleeping"[/chick|sleeping/]
=> "chick"
irb(main):004:0> "chickens are sleeping"[/sleeping/]
=> "sleeping"
irb(main):005:0> "chickens are sleeping"[/sleeping|chicken/]
=> "chicken"
irb(main):006:0> "chickens are sleeping"[/sleeping|are|chicken/]
=> "chicken"
irb(main):007:0> "chickens are sleeping"[/sleeping|are/]
=> "are"
irb(main):008:0> "chickens are sleeping"[/[^sleeping|are]/]
=> "c"
irb(main):009:0> "chickens are sleeping"[/[^sleeping|are].[a-z]*\s/]
=> "chickens "
irb(main):011:0> "chickens are sleeping"[/[^chickens|are].[a-z]*\s/]
=> " are "
irb(main):015:0> "chickens are sleeping"[/[sleeping|are].[a-z]*\s/]
=> "ickens "
irb(main):020:0> "scared chickens are sleeping"[/are|sleeping/]
=> "are"
irb(main):026:0> "scared chickens are sleeping"[/(are|sleeping)../]
=> "ared "
irb(main):023:0> "scared chickens are sleeping"[/\b(are|sleeping)\b/]
=> "are"
irb(main):025:0> "scared chickens are sleeping"[/\b(are|sleeping)\b.../]
=> "are sl"
irb(main):032:0> "scared chickens are sleeping"[/(monkeys|dancing)|(sheep|laughing)/]
=> nil
irb(main):033:0> "scared chickens are sleeping"[/(monkeys|dancing)|(sheep|laughing)|(chickens)/]
=> "chickens"
irb(main):034:0> "scared chickens are sleeping"[/(monkeys|sleeping)|(sheep|laughing)|(chickens)/]
=> "chickens"


You need to create an account or log in to post comments to this site.


Click here to browse all 4858 code snippets

Related Posts