tutorial regulares regular probar online expresiones expresion espacio ejemplos blanco alfanumerico regex groovy regex-group

regex - probar - extraer subcadena utilizando expresiones regulares en groovy



groovy expresiones regulares (2)

Si tengo el siguiente patrón en algún texto:

def articleContent = "<![CDATA[ Hellow World ]]>"

Me gustaría extraer la parte "Hellow World", así que uso el siguiente código para que coincida:

def contentRegex = "<![CDATA[ /(.)*/ ]]>" def contentMatcher = ( articleContent =~ contentRegex ) println contentMatcher[0]

Sin embargo, sigo obteniendo una excepción de puntero nulo porque la expresión regular no parece estar funcionando, ¿cuál sería la expresión regular correcta para "cualquier paz de texto" y cómo recogerla de una cadena?


Tratar:

def result = (articleContent =~ /<!/[CDATA/[(.+)]]>/)[ 0 ]​[ 1 ]

Sin embargo, me preocupa que esté planeando analizar XML con expresiones regulares. Si este cdata es parte de un documento xml válido más grande, es mejor utilizar un analizador xml


algún código muestra la subcadena del extracto usando regex en groovy:

class StringHelper { @NonCPS static String stripSshPrefix(String gitUrl){ def match = (gitUrl =~ /ssh:////(.+)/) if (match.find()) { return match.group(1) } return gitUrl } static void main(String... args) { def gitUrl = "ssh://[email protected]:jiahut/boot.git" def gitUrl2 = "[email protected]:jiahut/boot.git" println(stripSshPrefix(gitUrl)) println(stripSshPrefix(gitUrl2)) } }