Using regex is slow, paintful and won't help.
What I can imagine, create an extra field in the table, with duplicate data, where all dots are replaced with spaces (unified).
Then, use that unified argument to perform searches.
So, for every f1 = "my name is john", there will be duplicate f2 = "my name is john", and for f1 = "my.name.is.john" duplicate will be f2 = "my name is john".
create table ZZZ (
insert into ZZZ (fa, f2) values (f1, preg_replace('/\./', ' ', $f2));
Then, "select * from ZZZ where f2 = 'my name is john'"
This method takes its amount of disk space, but is very fast (you can even use indexes).
And disk space is cheap today :-)
[edited by: Morgenhund at 11:02 pm (utc) on Feb. 2, 2009]