Regex Última ocurrencia?
path (6)
Estoy tratando de atrapar la última parte después de la última barra invertida
Necesito el /Web_ERP_Assistant
(con el /
)
Mi idea fue:
C:/Projects/Ensure_Solution/Assistance/App_WebReferences/Web_ERP_WebService/Web_ERP_Assistant
//.+?(?!//) // I know there is something with negative look -ahead `(?!//)`
Pero no puedo encontrarlo
¿Qué pasa con esta expresión regular: //[^//]+$
Puede intentar anclarlo al final de la cadena, algo así como //[^//]*$
. Aunque no estoy seguro si uno absolutamente tiene que usar expresiones regulares para la tarea.
Una mirada negativa hacia adelante es una respuesta correcta, pero se puede escribir de manera más clara:
(//)(?!.*//)
Esto busca una ocurrencia de / y luego en un cheque que no coincide, busca cualquier cantidad de caracteres seguidos por el carácter que no desea ver después de eso. Como es negativo, solo coincide si no encuentra una coincidencia.
Una que funcionó para mí fue:
.+(//.+)$
Explicación:
.+ - any character except newline
( - create a group
//.+ - match a backslash, and any characters after it
) - end group
$ - this all has to happen at the end of the string
Usé a continuación la expresión regular para obtener ese resultado también cuando está terminado por un /
(//[^//]+)//?$