J'ai cette chaîne: J'ai toujours besoin d'obtenir seulement #test code> ou
#test? params = quelque chose code>
#test. code> La fonction que j'ai collée renvoie une erreur si aucune marque d'interrogation n'est trouvée. L'objectif est de toujours retourner
#test code> s'il existe des paramètres supplémentaires ou non. Comment faire une regex qui le retourne? P> p>
5 Réponses :
est cette chaîne directe de l'URL de la page en cours?
Si tel est le cas, vous pouvez simplement utiliser: p> si vous visitez http://example.com/#test?params=Something , le code ci-dessus retournera" #test ". p> tests h3>
OP a demandé une regrette spécifiquement, votre solution utilise la scission
Vous pouvez utiliser:
var regExp = /^([^?]+)/;
^(.*?)(?=\?|$) You can try this.See demo.https://regex101.com/r/vN3sH3/25
@Anonymous y a-t-il plus de types d'intrants? Pouvez-vous les ajouter aussi
soit je manque quelque chose ou simplement:
^#\w+
Alternative simple:
OP a demandé une regrette spécifique, votre solution utilise SUBSTR
En règle générale, vous devez utiliser des méthodes de modification de chaîne directe (telles que Split, Strows, Substring, etc.) au lieu de regex, lorsqu'il n'y a pas de besoin spécifique de regex. J'irais avec la méthode suggérée par James.