-1
votes

Comment écrivez-vous la regex qui correspondra à Min ou min = 1?

J'ai deux URL comme https: //xxx.xxx.xxxxx? min et https://xxx.xxx.xxx?min=1 . Je veux écrire une regex qui correspondra à la première URL ou à la deuxième URL.

J'ai essayé d'écrire une regex xxx

et xxx

Mais ceux-ci n'ont pas fonctionné. Le résultat attendu est une regex qui correspond à https: //xxx.xxx.xxxxx? Min ou https://xxx.xxx.xxx?min=1 .


7 commentaires

Donc, la seule différence entre les motifs est = 1 à la fin?


Vous semblez avoir un nombre différent de x S (5 x s dans la première URL après le second . ). Est-ce intentionnel?


Utilisez un analyseur d'URL si vous voulez que cela soit fiable. Si vous devez utiliser une regex, vous pouvez utiliser quelque chose de similaire à celui-ci: https: \ / \ / xxx \ .xxx \ .xxx \? Min (?: = 1)? .


Sauf si j'ai mal compris la question, la regex \? Min doit correspondre à la fois. Si vous avez besoin d'un motif qui correspondra à quelque chose avec ? Min incorporé Vous pouvez utiliser . * \? Min. *


@ BOBJARVIS-REINSTATEMONICA Il conviendra également à beaucoup d'autres choses que je suppose, n'est-ce pas ce que l'OP veut.


@Amalalurali: OP peut utiliser cela comme une base pour quelque chose. Par exemple, https: \ / \ / [x.] * \? Min. * mais je soupçonne que le x s est censé être alpha ou alphanumérique. Néanmoins, OP va devoir ajouter à cela.


Essayez d'utiliser des ancrages, une alternance et un groupe non capturant optionnel ^ https: // xxx \ .xxx \. (?: Xxxxx | xxx) \? [AZ] {3} (?: = 1)? $ < / Code> Voir Regex101.com/r/kv4p34/1


4 Réponses :


0
votes

Il ne correspond pas car votre URL est https: //xxx.xxx.xxxxx? min mais regex est https://xxx.xxx.xxx (\? min | \ \ ? min = 1) (remarque Il y a 5 x caractères dans l'entrée et 3 dans regex).

Vous devez également remplacer . avec \ \. dans regex car . correspond à tous les caractères .


0 commentaires

1
votes

Vous avez oublié d'échapper aux barres obliques dans la regex.

plus, celui-ci devrait faire l'affaire pour accepter uniquement vos cas: xxx p> s'il vous plaît, essayez-le.


1 commentaires

Si vous avez également besoin de commencer exactement, ajoutez simplement ^ au début -> ^ https: \ / \ / (. *?) \? (Min | min = 1) $



0
votes

faire = 1 partie en option: xxx


1 commentaires

@Blow corrigé! 😉



1
votes

Si vous souhaitez uniquement correspondre aux URL fournies, cette regex peut être utile xxx blockQuote>

^ affirme la position au début d'une ligne

$ affirme position à la fin d'une ligne

modificateurs:

modificateur M : multif ligne. Causes ^ et $ pour correspondre au début / à la fin de chaque ligne (non seulement commencer / fin de la chaîne)

modificateur g : global. Tous les matchs (Ne retournez pas après le premier match)

Essayez-le


0 commentaires