Home regexprep function not able to accept \b to find number range
 I am attempting to use regular expression substitution for the following types of strings: 'y = 0' 'y = 10' 'y = 23'  I want the replacement to return the number only if it lies between 1 and 22. (i.e. less than 1 and greater than 22 will return some other result) I have it written as follows, and I cannot understand why this won't work: regexprep('y = 5', 'y = '\b([1-9]$|1[0-9]|2[0-2])\b', '$1')  Is there something I am missing about syntax here? I find that if I remove the \b I can get the proper result for: regexprep('y = 0', 'y = ([1-9]|1[0-9]|2[0-2])', '$1')  i.e. no change, and for the numbers from 1-22 I get the right result, but then all numbers greater than 22 are also getting replaced by $1 as well. I have no idea why. Any help would be great. Thanks.