Lua patterns
En lua, il n'y a pas d'expressions régulières dans la librairie standard. Mais il y a ce que l'on appelle les patterns qui sont plus simples, plus légers, et ont une syntaxe quelque peu différente.
Ils s'utilisent via les fonctions suivantes: string.find, string.gmatch, string.gsub.
Des exemples
- Extraire le nom d'un fichier (filename) contenu dans un chemin (pathname)
-
> string.gsub('/home/hs0ucy/Code/wiki.soucy.cc/templates/index.html', '(.*/)(.*)', '%2') - index.html
- Dans le chemin d'un fichier (pathname), extraire la partie répertoire du fichier (dirname)
-
> string.match('/home/hs0ucy/Code/wiki.soucy.cc/templates/index.html', '(.*/)') - /home/hs0ucy/.hs0ucy/Code/wiki.soucy.cc/templates/
- Dans un chemin absolu de répertoires, retourner seulement le dernier de la liste
-
> string.match('/home/hs0ucy/Code/wiki.soucy.cc', '^.+/(.+)$') - wiki.soucy.cc
- Retirer l'extension dans un nom de fichier (pathname ou filename)
-
> string.match('/home/hs0ucy/Code/wiki.soucy.cc/templates/index.html', '(.+)%..*') - /home/hs0ucy/Code/wiki.soucy.cc/templates/index
- Extraire le domaine ou sous-domaine d'une URL
-
> string.match('https://www.openbsdhandbook.com/multimedia/', '^%w+://([^/]+)') - www.openbsdhandbook.com