-1
je dois extraire les valeurs \ d avant les caractères entre guillemets, de sorte que le résultat pourRuby Regex motifs répétitifs
teststring.scan(/regex/)
doivent être
=> [["4"], ["2"], ["1"]]
testString:
testtring = '4 x "UM 4 ENGLISH" 2 x "UM FRENCH" 1 x "SOME OTHER STRING WHICH COULD CONTAIN 2 x"'
Ma première approche était quelque chose comme ça, dans différentes variantes:
(\d) x ".+" ?
((\d) x ".+" ?)+
Je pense que cela devrait être 'teststring.scan (/ (: (\ d) x "[^"] *") + /) 'Le modificateur de groupe regex' = 'est un look-ahead? - donc ça ne consomme pas les caractères correspondants, ça explique sans doute pourquoi tu t'es échappé avec le match gourmand '. +', en fait ton conseil d'utiliser '[" "' '' '' '' '' '' '' '' '' '' '' '' '' ' –
@Neil Je l'accepterais comme la bonne réponse ... – user3428756
Je pense que Trygve a identifié la bonne approche, mais a obtenu la syntaxe un peu faux. Cette réponse peut être corrigée. BTW, le '+ 'à la fin est également pas nécessaire, un seul groupe externe est jamais égalé à la fois –