Quiero mapear la URL de Slug con la URL de Regex mencionada a continuación.

Regex URL - /openPage/*/*
Slug URL -/openPage/{category}/{subCategory}
URL - /openPage/ABC/XYZ

Donde después de la coincidencia de patrones, debería obtener como, categoría = ABC subCategoría = XYZ

Cualquier ayuda sería apreciada.

0
Ragini 29 oct. 2019 a las 11:59

1 respuesta

La mejor respuesta

Debería buscar grupos coincidentes en Regex. Se pueden usar para obtener partes específicas de una expresión regular después de la coincidencia. Para obtener más información, puede leer esto. Para su caso de uso, puede utilizar la siguiente expresión regular:

\/openPage\/([^\/]+)\/([^\/]+)

Regular expression visualization

Demo de Debuggex

Y así es como puedes hacer eso en Kotlin:

val regex = "\\/openPage\\/([^\\/]+)\\/([^\\/]+)".toRegex()
val match = regex.matchEntire("/openPage/ABC/XYZ")
val category = match?.groups?.get(1)?.value
val subCategory = match?.groups?.get(2)?.value

De esta forma tendrás tu categoría y subCategoría como String?.

3
pshegger 29 oct. 2019 a las 09:31