En el podcast 11 de stackoverflow:
Spolsky: Sí. También hay un nuevo producto, si no desea utilizar el sistema de equipo, nuestros amigos de Redgate tienen un producto llamado SQL Data Generator [ http://www.red-gate.com/products/sql_data_generator/index.htm] . Cuesta $ 295 y solo genera algunos datos de prueba realistas. Y hace cosas como generar ciudades reales en la columna de la ciudad que realmente existen, y luego, cuando las genera, obtendrá el estado correcto, en lugar de equivocar el estado, o poner estados en ciudades alemanas y cosas como ... ya sabes, genera datos de aspecto bastante realista. No estoy seguro de cuáles son todas las funciones.
Probablemente esto no sea lo que está buscando, pero podría ser un buen punto de partida, en lugar de crear el suyo propio.
Parece que no puedo encontrar nada en Google, por lo que sugeriría abordar el problema analizando una expresión regular determinada en las unidades más pequeñas de trabajo (\ w, [xx], \ d, etc.) y escribiendo algunos métodos básicos para respaldar esas frases de expresión regular.
Entonces, para \ w tendría un método getRandomLetter () que devuelve cualquier letra aleatoria, y también tendría getRandomLetter (char startLetter, char endLetter) que le da una letra aleatoria entre los dos valores.