Tengo regex que coincide con palabras finas excepto si contienen un carácter especial como ~ Consulta que es el nombre de un miembro de una clase de C++. Necesita utilizar el límite de palabras como se muestra a continuación para los nombres de miembros que son caracteres únicos. $key =~ /\b$match\b/
regex para que coincida con el límite de palabras que comienza con caracteres especiales
he intentado numerosas expresiones que pensé que funciona como /[~]*\b$match\b/
o /\b[~]*$match\b/
¿Es posible poner un límite de palabra de palabras que puede contener un carácter especial?
Puede publicar exactamente lo que quiere que coincida ... Regex se genera para casos específicos, no solo suponiendo cuál es su cadena. –
'/ ~ \ b $ match \ b/'debe coincidir con' ~ Query', asumiendo que la expresión regular contenida en '$ match' coincidiría con' Query'. (Acabo de probar, y '" ~ foo "= ~/~ \ bfoo \ b /' se evalúa como verdadero.) – cdhowie
La variable $ match podría contener ~ Query, Query, o single letter como p. Posiblemente, otros desarrolladores de nombres extraños lo usen para sus métodos de clase. Regex es parte de una subrutina que está haciendo una búsqueda. Todo funciona bien, excepto cuando $ match contiene ~ Query. –