¿Cómo podré buscar palabras clave que no estén dentro de una cadena?palabras clave de concordancia regex que no están entre comillas
Por ejemplo, si tengo el texto:
Hola este texto es un ejemplo.
bla bla bla "este texto está dentro de una cadena"
"cadena aleatoria" más texto bla bla bla "foo"
me gustaría ser capaz de igualar todas las palabras text
que no están dentro de " "
. En otra me gustaría coincidir:
nota no quiero para que coincida con el texto que se resalta en rojo porque está dentro de una cadena
Posible solución:
He estado trabajando en ello y esto es lo que tengo hasta ahora:
(?s)((?<q>")|text)(?(q).*?"|)
nota que utiliza expresiones regulares como la sentencia if: (? (Predicado) verdadera alternativa | falsa alternativa)
así, el texto se lee:
hallazgo "o texto. Si encuentra "luego continuar seleccionando hasta encontrar" otra vez (. *? ") Si usted encuentra el texto a continuación, no hacer nada ...
cuando corro que la expresión regular que coincida con la cadena completa sin embargo. Lo pregunto pregunta con el propósito de aprender. Sé que puedo eliminar todas las cadenas y luego buscar lo que necesito.
¿Ha intentado con un generador de expresiones regulares en línea como: http://txt2re.com/index-csharp.php3 – Surfbutler
¿Por qué le gustaría hacer coincidir una cadena que sabe lo que es? ¿Qué planeas hacer con el resultado? La intención es importante para que otros puedan dar una respuesta adecuada. – Mithon
No necesita saber el propósito de la pregunta para poder responderla. También supones que él sabe lo que es la cadena. Solo da ejemplos para demostrar lo que está tratando de hacer y esos no son necesariamente lo que usará finalmente. Está buscando un resultado específico y no nos corresponde cómo se usará ese resultado. –