Échapper à une chaîne à partir d'une regex analysée en Java

En Java, supposons que j'ai une variable de type String S, et je tiens à le rechercher à l'intérieur d'une autre Chaîne de T, comme suit:

   if (T.matches(S)) ...

(remarque: la ligne ci-dessus a été T. contains() jusqu'à ce que quelques postes de relever que cette méthode n'utilise pas les regexes. Mon mauvais.)

Mais supposons maintenant que S peuvent avoir des personnages peu recommandables. Par exemple, si S = "[hi". Le crochet gauche va provoquer la regex à l'échec. Est-il une fonction que je peux appeler pour échapper à S de sorte que cela ne se produise pas? Dans ce cas particulier, je voudrais qu'il puisse être transformé en "\[hi".

source d'informationauteur doodaddy