Socket
Book a DemoInstallSign in
Socket

verbal

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

verbal

0.1.2
bundlerRubygems
Version published
Maintainers
2
Created
Source

Verbal

Build Status Gem Version

Overview

Verbal is a Ruby library that helps to construct difficult regular expressions. It's ported from the awesome JavaScript VerbalExpressions. Detailed documentation is available at rubydoc.

Installation

$> gem install verbal
require 'verbal'

Examples

Here's a couple of simple examples to give an idea of how Verbal works:

Testing if we have a valid URL

# Create an example of how to test for correctly formed URLs
tester = Verbal.new do
  start_of_line
  find 'http'
  maybe 's'
  find '://'
  maybe 'www.'
  anything_but ' '
  end_of_line
end

# Create an example URL
test_url = "https://www.google.com"

# Use it just like a regular Ruby regex:
puts 'Hooray!  It works!' if tester.match(test_url)
puts 'This works too!' if tester =~ test_url

# Print the generated regex:
puts tester.source # => /^(?:http)(s)?(?::\/\/)(www\.)?([^\ ]*)$/i

Replacing strings

# Create a test string
replace_me = "Replace bird with a duck"

# Create an expression that seeks for word "bird"
expression = Verbal.new { find 'bird' }

# Execute the expression like a normal Regexp object
result = replace_me.gsub( expression, "duck" );

puts result # Outputs "Replace duck with a duck"

Capturing strings

# create expression
verbal = Verbal.new do
  capture { anything }
  find /\sby\s/
  capture { anything }
end
# match against test string
data = verbal.match('this is it by michael jackson')
puts data[1] # >> 'this is it'
puts data[2] # >> 'michael jackson'

Issues

  • I haven't yet ported the modifier code because Ruby Regexp handles modifiers a little differently.

Thanks!

Thank you to @jehna for coming up with the awesome original idea.

Thank you to @ryan-endacott for the original port.

FAQs

Package last updated on 26 Jul 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.