Question: I'm trying to detect an occurrence of a string within string. But the code below always returns "null". Obviously something went wrong, but since I'm a newbie, I can't spot it. I'm expecting that the code returns "true" instead of "null"

```
var searchStr = 'width'; 
var strRegExPattern = '/'+searchStr+'\b/'; 
"32:width: 900px;".match(new RegExp(strRegExPattern,'g'));

```

Answer: 
The right tool for this job is not regex, but String.indexOf: 

```
var str = '32:width: 900px;',
    search = 'width',
    isInString = !(str.indexOf(search) == -1); 

// isInString will be a boolean. true in this case

```

Documentation: <https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String/indexOf>
Notice that '\\b' is a single slash in a string followed by the letter 'b', '\b' is the escape code `\b`, which doesn't exist, and collapses to 'b'.

Also consider escaping metacharacters in the string if you intend them to only match their literal values.

```
var string = 'width';
var quotemeta_string = string.replace(/[^$\[\]+*?.(){}\\|]/g, '\\$1'); // escape meta chars
var pattern = quotemeta_string + '\\b';
var re = new RegExp(pattern);
var bool_match = re.test(input); // just test whether matches
var list_matches = input.match(re); // get captured results

```