fails(regexp):String#sub with pattern and block sets $~ for access from the block
fails(regexp):String#sub! with pattern and block sets $~ for access from the block
fails(regexp):String#sub! with pattern and block raises a RuntimeError if the string is modified while substituting
