regulares - Regex que empareja el principio y las cadenas finales
expresiones regulares javascript (4)
Esto parece que debería ser trivial, pero no soy tan bueno con las expresiones regulares, y esto no parece ser fácil para Google.
Necesito una expresión regular que comience con la cadena ''dbo''. y termina con la cadena ''_fn''
En lo que a mí respecta, no me importa qué caracteres están entre estas dos cadenas, siempre y cuando el principio y el final sean correctos.
Esto es para hacer coincidir las funciones en una base de datos del servidor SQL.
Por ejemplo:
dbo.functionName_fn - Match
dbo._fn_functionName - No Match
dbo.functionName_fn_blah - No Match
Bueno, el regex simple es este:
/^dbo/..*_fn$/
Sin embargo, sería mejor usar la funcionalidad de manipulación de cadenas de cualquier lenguaje de programación que estés usando para cortar los primeros cuatro y los últimos tres caracteres de la cadena y verificar si son lo que quieres.
Si está buscando resultados dentro de un texto más grande, no quiere usar ^
y $
como han dicho otros respondedores; aquellos coinciden con el principio y el final del texto. Intenta esto en su lugar:
/bdbo/./w+_fn/b
/b
es un límite de palabra : coincide con una posición que está precedida por un carácter de palabra y no seguida por una, o seguida por un carácter de palabra y no precedida por uno. Este regex encontrará lo que estás buscando en cualquiera de estas cadenas:
dbo.functionName_fn
foo dbo.functionName_fn bar
(dbo.functionName_fn)
... pero no en este
foodbo.functionName_fnbar
/w+
coincide con uno o más "caracteres de palabras" (letras, dígitos o _
). Si necesita algo más incluyente, puede probar /S+
(uno o más caracteres que no sean espacios en blanco) o .+?
(uno o más de los caracteres excepto saltos de línea, sin avidez). El no codicioso +?
evita que coincida accidentalmente con algo como dbo.func1_fn dbo.func2_fn
como si fuera solo un hit.
/bdbo/..*fn
Estaba buscando en una tonelada de código java una biblioteca específica: car.csclh.server.isr.businesslogic.TypePlatform
(aunque en ese momento solo conocía el car
y la Platform
). Desafortunadamente, ninguna de las otras sugerencias aquí funcionaron para mí, así que pensé en publicar esto.
Aquí está el regex que solía encontrarlo:
/bcar/..*Platform
^dbo/..*_fn$
Esto debería funcionar.