Comme le titre suggère, quelle est la signification de ^ \ d * (\: d +)? $ code> et quelle différence de . code> dans la fin signifie que c'est-à-dire ^ \ d * (\: d +)? $. code> p>
3 Réponses :
. Dot Matches any character except linebreaks Form detail information put your regex here: https://regexr.com/
le Pourquoi?: Que signifie la regex?: p>
Cela correspond ainsi aux modèles tels que: p>
. code> à la fin de ^ \ d * (: d +)? $. code> est probablement la fin d'une phrase et ne faisait probablement pas partie de la regex lui-même. p>
$ code> est un symbole pour la fin d'une ligne, de sorte que si vous utilisez RegEx pour correspondre à des chaînes multilignes (rares mais possibles), le . code> ne correspond à rien car rien ne vient après la fin de la chaîne. P>
^ code> début de chaîne li>
\ d * code> 0 ou plusieurs chiffres li>
(: d +)? code> Possibilité d'un : code> suivi d'un ou plusieurs d code> (prob une faute de frappe et ils signifiaient à nouveau) li>
$ code> fin de chaîne li>
ul>
: 1 code> où \ d * code> peut avoir 0 entrées ou plus li>
12 code> où : code> etc. et sont des trucs après : code> est facultatif li>
\ d * code> peut avoir plusieurs entrées et : code> et numéros après : code> sont facultatifs li>
1: 2 code> où vous avez au moins 1 de tout li>
1234567890: 123 code> où vous avez de nombreux chiffres de chaque côté de : code> li>
ul>
En pcre lorsque m code> est désactivé $ code> a le même comportement que \ z code> qui correspond à la position à la fin de la chaîne d'entrée ou avant la fin de la chaîne d'entrée. Dans ce cas, avec s code> Set, $. Code> correspondra (voir Démo en direct ici ). Mais je suis d'accord que cela ne fait probablement pas partie de la regex.
Sauf si vous utilisez RegEx pour faire correspondre des chaînes multilignes (rares mais possibles) CODE> ... Vous pouvez également forcer Python à correspondre à des chaînes multilignes ... Les gens utilisent parfois cela lorsque vous essayez de communiquer avec za̡͊͠͝lgό Isͮ҉̯͈͕̹̘ to͇̹̺ɲ̴ȳ̳ th̘ë͖̉ ͠p̯͍̭o̚ n̐y̡
Match Multi-Lines String Code> a une interprétation différente, c'est-à-dire 1) pour correspondre à des chaînes multilignes afin que $ code> correspond à la fin de chaque ligne ou 2) correspond à des chaînes multi-lignes Donc, que . code> correspond à des lamelles. Le premier pourrait être atteint en définissant le drapeau M code> (Multiline) (sauf en rubis) et ce dernier avec s code> (dotall).
Pour de tels cas que votre question, une solution merveilleuse est de trouver Une page de testeur de regex, par exemple https://regex101.com/ p>
ALORS: P>
Prenez aussi un coup d'œil sur le coin supérieur droit, avec explication em> en direction.
Il contient une explication très détaillée de la regex. P>
Et aussi loin que votre regex est concerné: La regex modifiée comme ci-dessus correspondrait à E.G. String source comme Pour un exemple, voir https://regex101.com/r/kkz9oo/1 p> (\: d +) code> semble un peu étrange, car: P>
: code>) ne nécessite aucun \ code> devant eux. LI>
(: \ d +) code> c'est-à-dire suivi
par une séquence de chiffres? LI>
ul>
789: 456 code>. p>
Vous semblez avoir écrit la même expression deux fois et une expression différente (deux fois) dans le titre.
Est le "." À la fin de la deuxième partie du regex de la regex, ou est-ce la fin de la phrase? (Étant donné que vous demandez spécifiquement "." Je suppose que cela fait partie de la regex, mais je veux être certain)
Vous pouvez évaluer votre expression sur << a href = "https://regex101.com" rel = "nofollow noreferrer"> regex101.com >, il vous donne une explication. Vous pouvez également ajouter des cas de test.
@Konradrudolph Il semble que cela coupe un point à la fin du titre. Donc, je le mets à la fin de la première regex.