The 'match' function in OpenRefine requires your regular expression to match the whole of the value in the cell. So:
value.match(/\d{6}/)
will only find a match in cells where the cell contains only 6 digits in a row and nothing else. To allow the six digits to be surrounded by other characters you can use the 'wildcard' pattern of '.*' before and after the digits:
value.match(/.*\d{6}.*/)
This matches the cell if the value in the cell contains six digits in a row, and any other characters (or none) before and after the 6 digits.
The 'match' function output is an array of captured values from the regular expression. To capture part of your regular expression you need to surround that part of your regular expression with brackets ( ). If you don't do this, then a successful 'match' will give you an empty array - which may not be what you want.
Example: Cell contains value:
hello 123456 goodbye
value.match(/\d{6}/) = null
value.match(/.*\d{6}.*/) = [ ] (empty array)
value.match(/.*(\d{6}).*/) = [ "123456" ] (array with one captured value)
value.match(/(.*)(\d{6})(.*)/) = [ "hello ", "123456", " goodbye" ] (array with three captured values)
So for the question 'everything except the numbers' - you only need to capture the non-number bits of your regular expression
Owen