Estoy buscando coincidir con una cadena "Ordenar por XXX" donde XXX puede ser cualquier letra, número, punto, coma, espacio o corchete. Sin embargo, solo me gustaría hacer coincidir esto si es no rodeado de paréntesis (entre paréntesis está bien, siempre y cuando no en ambos lados). Por lo tanto, debe coincidir con la parte en cursiva de "", por lo que no debe coincidir con cualquier cosa enCoincidir cadena con Regex siempre que no esté entre paréntesis
debe coincidir (sección emparejado en cursiva):
- Seleccione X de Y fin por z
- seleccione y = (SELECT tOP 1 Z de C Ordenar por [ID] desc)
en caso de no coincidir:
- Select X de Y (orden por z)
- Select aa, NTILE (4) OVER (Ordenar por ab) grupo de AC
tengo la cadena de expresiones regulares para hacer coincidir el orden de texto: [ ]*order by [\w,.\[\] ]+
. Sin embargo, estoy teniendo algunos problemas para lograr un buen resultado/detrás del trabajo. ¿Algún consejo sobre cómo proceder?
No puedo diferenciar entre '(seleccione arriba 1 Z de C Ordene por [ID] desc)' y '(OVER ordene por a.b)' solo con sus criterios. – nhahtdh
@nhahtdh - yup. extravió el paren en el segundo ejemplo. Editado –
No me gustan las expresiones regulares. Acabo de usar algunos muy triviales hasta ahora. Encontré una herramienta para que pueda verificar sus expresiones regulares. Tal vez pueda ayudarte también. aquí está el enlace http://www.asterworld.com/en/soft/010.html –