regexp_optimized_union 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/readme.md +36 -0
- metadata +4 -8
data/readme.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
`Regexp.optimized_union(word_list, regexp_options)` generates optimized regexp for matching union of word list. Works similar to `Regexp.union`, but API receives Regexp compile option.
|
2
|
+
|
3
|
+
### Install:
|
4
|
+
|
5
|
+
```bash
|
6
|
+
gem ins regexp_optimized_union
|
7
|
+
```
|
8
|
+
|
9
|
+
### Use:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
require 'regexp_optimized_union'
|
13
|
+
Regexp.optimized_union(%w[bazfoo bazfoobar bazbar]) #=> /baz(?:foo(?:bar)?|bar)/
|
14
|
+
Regexp.optimized_union(%w[fooabar foobbar], 'i') #=> /foo[ab]bar/i
|
15
|
+
Regexp.optimized_union(%w[foobar fooabar foogabar]) #=> /foo(?:|a|ga)bar/
|
16
|
+
```
|
17
|
+
|
18
|
+
### Caveats:
|
19
|
+
|
20
|
+
- All words in the list will be escaped.
|
21
|
+
- Matching time for the light but compile time for the dark, you are the balance between them.
|
22
|
+
|
23
|
+
### Optimizations include:
|
24
|
+
|
25
|
+
- Treed common prefix extraction.
|
26
|
+
- Common suffix aggregation.
|
27
|
+
- Optional leaf to `?`.
|
28
|
+
|
29
|
+
Mostly the same as described in http://search.cpan.org/~dankogai/Regexp-Optimizer-0.15/lib/Regexp/List.pm#IMPLEMENTATION
|
30
|
+
|
31
|
+
### License (WTFPL)
|
32
|
+
|
33
|
+
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
|
34
|
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
35
|
+
|
36
|
+
0. You just DO WHAT THE FUCK YOU WANT TO.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: regexp_optimized_union
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,19 +11,15 @@ bindir: bin
|
|
11
11
|
cert_chain: []
|
12
12
|
date: 2012-11-07 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
|
-
description:
|
15
|
-
regexp for matching union of word list
|
16
|
-
|
17
|
-
Optimations include: treed common prefix extraction, common suffix aggregation and
|
18
|
-
optional leaf to ?.
|
19
|
-
|
20
|
-
Mostly the same as described in http://search.cpan.org/~dankogai/Regexp-Optimizer-0.15/lib/Regexp/List.pm#IMPLEMENTATION'
|
14
|
+
description: Regexp.optimized_union(word_list, regexp_options) generates optimized
|
15
|
+
regexp for matching union of word list
|
21
16
|
email:
|
22
17
|
executables: []
|
23
18
|
extensions: []
|
24
19
|
extra_rdoc_files: []
|
25
20
|
files:
|
26
21
|
- lib/regexp_optimized_union.rb
|
22
|
+
- readme.md
|
27
23
|
homepage: https://github.com/luikore/regexp_optimized_union
|
28
24
|
licenses:
|
29
25
|
- WTFPL
|