terminada - ¿Qué Regex capturaría todo, desde ''marcar hasta el final de una línea''?
porque no puedo hacer llamadas a un numero en especifico (6)
Tengo un archivo de texto que denota comentarios con un solo ''
.
Algunas líneas tienen dos comillas, pero necesito obtener todo desde la primera instancia de un ''
y el salto de línea.
I AL01 '' A-LINE ''091398 GDK 33394178
402922 0831850 '' ''091398 GDK 33394179
I AL02 '' A-LINE ''091398 GDK 33394180
400722 0833118 '' ''091398 GDK 33394181
I A10A '' A-LINE 102 '' 53198 DJ 33394182
395335 0832203 '' '' 53198 DJ 33394183
I A10B '' A-LINE 102 '' 53198 DJ 3339418
Cuando probé ". *" En Windows (Notepad ++) coincidiría todo después del primero "hasta el final de la última línea".
Para capturar todo hasta el final de esa línea escribí lo siguiente:
''.*?/n
Esto solo capturaría todo desde ''hasta el final de esa línea.
En su ejemplo, elegiría el siguiente patrón:
''([^/n]+)$
usa opciones multilínea y globales para unir todas las ocurrencias.
Para incluir el avance de línea en el partido, puede usar:
''[^/n]+/n
Pero esto podría perderse la última línea si no tiene avance de línea.
Para una sola línea, si no necesita hacer coincidir el avance de línea que prefiero usar:
''[^$]+$
Esto capturará todo hasta el ''en referencia inversa 1 - y todo después de'' en referencia inversa 2. Puede que necesite escapar de los apóstrofos, aunque dependiendo del idioma (/ '')
/^([^'']*)''?(.*)$/
Modificación rápida: si la línea no tiene una ''- referencia hacia atrás 1 aún debería atrapar toda la línea.
^ - start of string
([^'']*) - capture any number of not '' characters
''? - match the '' 0 or 1 time
(.*) - capture any number of characters
$ - end of string
La expresión regular apropiada sería el ''char seguido de cualquier número de caracteres [incluyendo cero caracteres] que termina con un final de token de cadena / línea:
''.*$
Y si quisiera capturar todo después del ''char'' pero no incluirlo en el resultado, usaría:
(?<='').*$
Esto básicamente dice: dame todos los personajes que siguen al ''char'' hasta el final de la línea.
Editar : Se ha observado que $ está implícito cuando se usa. * Y, por lo tanto, no es estrictamente necesario, por lo tanto, el patrón:
''.*
es técnicamente correcto, sin embargo, es más claro ser específico y evitar la confusión para el posterior mantenimiento del código, de ahí mi uso del $. Creo que siempre es mejor declarar un comportamiento explícito que confiar en un comportamiento implícito en situaciones en las que la claridad puede cuestionarse.
''.*$
Comenzando con una comilla simple ( ''
), haga coincidir cualquier caracter ( .
) Cero o más veces ( *
) hasta el final de la línea ( $
).
''.*
Creo que necesitas la opción, Multiline.