revenu / sortie attendu fort> p>
Je crois que je devrai exécuter plusieurs regexs contre chaque chaîne, car je dois connaître les éléments suivants: P>
C'est aussi insensible à la casse. P>
Longines. Une très bonne et rare en acier inoxydable résistant à l'eau
Bracelet de chronographe avec cadran noir et boîte d'origine \ NSIGNED
Longines, détaillée par Barth, Zurich, Réf. 22127, NO. 5770083,
Cas non. 46, vers 1941 \ ncal. 13 Zn Mouvement de levier au nickel, 17
bijoux, cadran noir avec chiffres arabes, chemin de fer externe cinq minutes
Divisions et échelle tachymetre, deux cadrans filiales indiquant
Secondes constantes et 30 minutes Inscrivez-vous dans une grande circulaire
Type de type résistant à l'eau avec lunette plate, cosses rédigées, vis
retour, deux boutons chronographiques ronds dans la bande, le cas et le mouvement
Signé par le fabricant, cadran signé par le fabricant et le détaillant \ N37 mm. Diam. P>
blockQuote>
Bracelet Montre d'Homme Chronographe en ou, par Longines \ n \ nde forme
Ronde, Le Cadran Noir à Chiffres Arabes, Cadran Auxiliaire pour les
secondes à neuf héures et totalisateur de minutes à Trois Heures,
Mouvement Mécanique 13 Z N, VERS 1960, Poils Brut: 44,49 gr., Monture
FR ou Jaune 18k (750) \ N \ NCADran Longines, Mouvement no. 3872616, fond
de boîte no. 5872616 \ NVEUILLEZ Noter Que Les Bracelets de Montre
Pouvant Être en Cuirs Exotiques Provenant d'Espèces Protégées, Tels Le
Crocodile, ILS NE SON SON PAS VENDUS AVEC LES MONTRE MÊME SOLS SON SON
Exposés AVEC CELLES-CI. Christie's Devra Retirer et Conséreur CES
Bracelets Avant Leur Collection PAR LES ACHETEUR P>
blockQuote>
5770083 code>
Seuls les chiffres de ce que je vais construire: {"Numéro de mouvement": 5770083} Code> Li>
ul>
mouvement no. = 5770083 code> etc li>
/ mouvement no. ([^ \ s] +) / code>
Avec la regex ci-dessus, il récupérera également le , code>. p>
4 Réponses :
pour le mouvement no. Spécifiquement, vous voudrez que cette regex se débarrasse de la virgule:
movement no. ([^\s\W]+)
Et puis je viens de boucler à travers toutes les différentes options possibles `Mouvement NO. Mouvement SignéS.numérotée Pas de bijoux MVT # Werk-Nr.` Fondamentalement?
Vous pouvez utiliser https://regex101.com / r / thl0wt / 1 p> Démarrez à une limite de mot, puis à l'intérieur d'un groupe de capture, alterner entre toutes les phrases possibles que vous souhaitez avant un nombre - puis correspond à un espace et de capture caractères numériques dans un autre groupe. Le résultat souhaité sera dans les premier et second groupes de capture. P> p> const input = `Longines. A very fine and rare stainless steel water-resistant chronograph wristwatch with black dial and original box\nSigned Longines, retailed by Barth, Zurich, ref. 22127, movement no. 5770083, case no. 46, circa 1941\nCal. 13 ZN nickel-finished lever movement, 17 jewels, the black dial with Arabic numerals, outer railway five minute divisions and tachymetre scale, two subsidiary dials indicating constant seconds and 30 minutes register, in large circular water-resistant-type case with flat bezel, downturned lugs, screw back, two round chronograph buttons in the band, case and movement signed by maker, dial signed by maker and retailer\n37 mm. diam.
MONTRE BRACELET D'HOMME CHRONOGRAPHE EN OR, PAR LONGINES\n\nDe forme ronde, le cadran noir à chiffres arabes, cadran auxiliaire pour les secondes à neuf heures et totalisateur de minutes à trois heures, mouvement mécanique 13 Z N, vers 1960, poids brut: 44.49 gr., monture en or jaune 18K (750)\n\nCadran Longines, mouvement no. 3872616, fond de boîte no. 5872616\nVeuillez noter que les bracelets de montre pouvant être en cuirs exotiques provenant d'espèces protégées, tels le crocodile, ils ne sont pas vendus avec les montre même s'ils sont exposés avec celles-ci. Christie's devra retirer et conserver ces bracelets avant leur collecte par les acheteur`;
const matches = {};
let match;
const pattern = /\b((?:Movement|mouvement) no\.|mouvement signés\.Numérotée|no|MVT|jewels #|Werk-Nr\.) (\d+)/gmi;
while (match = pattern.exec(input)) {
matches[match[1]] = match[2];
// or, if you only want a single object:
const obj = {
[match[1]]: match[2]
};
}
console.log(matches);
Réponse fantastique, merci. Une question de points bonus, je suppose que ces multiples correspondances fonctionnent exactement de la même manière que j'ai besoin de chiffres après une correspondance. Comme je dois aussi faire correspondre le numéro de cas aussi. Je voudrais simplement ajouter celles-ci à la regex et le moment va bien comprendre cela.
Je ne fais clairement pas assez de regex lol mais exec code> est très gentil en effet monsieur. Merci
Oui, il suffit d'ajouter No \. Code> à la liste d'alternance
Je devrai générer le motif de procédure, mais cela ne sera pas difficile, bien que cela ne me confond pas comme ce n'est pas une chaîne.
Si vous ne pouvez pas comporter de disque, toutes les alternances, utilisez plutôt le constructeur Regexp Stackoverflow.com/Questtions/494035/...
Oui, gentil. Merci encore. Ça va être une très grande chaîne lol :)
Dernière chose de moi, j'imagine que je ne peux pas diviser ceci en plus facile pour lire le texte et mettre des choses sur de nouvelles lignes sans qu'il effectue la regex? Je suppose que je devrai utiliser la Regexp contrador si je souhaite le faire de cette façon
Si vous connaissez les alternatives à l'avance, vous pouvez mettre chaque ligne sur une nouvelle ligne en simulant le modificateur x code> autres moteurs ont, Comme ça . Si vous ne les connaissez pas à l'avance et que vous devez générer les phrases de manière dynamique, alors l'utilisation du constructeur est la seule option. (Assurez-vous de ESCAPE Caractères spéciaux d'abord).
var input = "Longines, retailed by Barth, Zurich, ref. 22127, movement no. 5770083"; var output = input.match(/(?<=movement no. )\d+/)
Vous utilisez la classe de caractères annexée Et vous pouvez suivre la même logique pour n'importe quel caractère que vous ne voulez pas correspondre. P> [^ \ s] + code>, qui correspond à tout , code>, puis l'ajouter à cette classe: [^ \ s,] code>. p>
Ah, donc le ^ code> est un casque ne correspond pas?
@Jamiehuttier Exactement, cela signifie que tout correspond à tout sauf ce qui est entre crochets.
Merci pour le vote rapproché, puis-je avoir une petite information sur la raison pour laquelle vous pensez qu'il devrait être fermé afin que je puisse le mettre à jour avec des informations pertinentes?
Quelle est exactement la production attendue? Vous recherchez la chaîne d'entrée mais sans les chiffres après
Mouvement no. Code> et les autres variations - c'est-à-dire supprimer tous les numéros correspondants, est-ce correct?Je pense qu'il veut le numéro basé sur la chaîne
Je vais mettre à jour la question, désolé pour la réponse floue
Mais oui, je cherche les seuls chiffres dans
Mouvement no. 3872616, code>.