# How to generate dynamic regexp pattern from strings?

**URL:** <https://www.ruby-forum.com/t/how-to-generate-dynamic-regexp-pattern-from-strings/125452>\
**Category:** Ruby\
**Created:** [January 9, 2008, 7:40am UTC](https://www.ruby-forum.com/t/how-to-generate-dynamic-regexp-pattern-from-strings/125452 "2008-01-09T07:40:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [January 9, 2008, 7:40am UTC](https://www.ruby-forum.com/t/how-to-generate-dynamic-regexp-pattern-from-strings/125452/1 "2008-01-09T07:40:03Z")

</div>

Hi, Could anyone tell me how to generate regexp pattern from strings?

for example, how to code the return\_pattern(str) method?  
thanks!

str = “^test|production-(\d+)”  
return\_pattern(str) ===\> /^test|production-(\d+)/

def return\_pattern(str)  
???  
end

---

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [January 9, 2008, 7:45am UTC](https://www.ruby-forum.com/t/how-to-generate-dynamic-regexp-pattern-from-strings/125452/2 "2008-01-09T07:45:27Z")

</div>

On Jan 8, 2008, at 11:39 PM, Nanyang Z. wrote:

> ## end
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

Regexp.escape string

a @ [http://codeforpeople.com/](http://codeforpeople.com/)

---

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [January 9, 2008, 7:56am UTC](https://www.ruby-forum.com/t/how-to-generate-dynamic-regexp-pattern-from-strings/125452/3 "2008-01-09T07:56:56Z")

</div>

ara howard wrote:

> On Jan 8, 2008, at 11:39 PM, Nanyang Z. wrote:
> 
> > ## end
> > 
> > Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> Regexp.escape string
> 
> a @ [http://codeforpeople.com/](http://codeforpeople.com/)

Thank you!!

---

<div class="post-metadata">

**Author:** ![xain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/82dd89/32.png) [@xain](https://www.ruby-forum.com/u/xain)\
**Post date:** [January 9, 2008, 8:02am UTC](https://www.ruby-forum.com/t/how-to-generate-dynamic-regexp-pattern-from-strings/125452/4 "2008-01-09T08:02:26Z")

</div>

On Jan 9, 2008 7:44 AM, ara howard [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > ???  
> > end
> 
> Regexp.escape string

Actually, Regexp.compile string or Regexp.new string

Regexp.escape avoids interpretation of special characters.

Eivind.
