Regex based scan for find_by_str

Improves performance by ~250X!

```
       user     system      total        real
s0_old:  0.340000   0.000000   0.340000 (  0.343969)
s0_now:  0.500000   0.000000   0.500000 (  0.505508)
s0_rgx:  0.000000   0.000000   0.000000 (  0.001823)
s1_old:  0.340000   0.000000   0.340000 (  0.335452)
s1_now:  0.480000   0.010000   0.490000 (  0.482408)
s1_rgx:  0.000000   0.000000   0.000000 (  0.002116)
s2_old:  0.350000   0.000000   0.350000 (  0.346947)
s2_now:  0.490000   0.000000   0.490000 (  0.490419)
s2_rgx:  0.000000   0.000000   0.000000 (  0.002520)
s3_old:  0.380000   0.000000   0.380000 (  0.382173)
s3_now:  0.480000   0.000000   0.480000 (  0.483541)
s3_rgx:  0.000000   0.000000   0.000000 (  0.003369)
```