recherche
Questions et réponses Expressions régulières JavaScript pour la détection et le fractionnement d'URL

0

J'ai l'URL suivante :

https://comanage.example.edu/sp
https://wiki.cs.example.org/sp
https://intranet.math.example.edu/sp
https://myapp.example.com/sp

Pour ces URL, je dois définir une fonction pour détecter s'il s'agit d'URL et remplacer les chemins https:// et sp à partir d'elles. En gros, j'ai juste besoin du nom d'hôte. Par exemple, comme indiqué ci-dessous :

https://comanage.example.edu/sp      ->comanage.example.edu
https://wiki.cs.example.org/sp       ->wiki.cs.example.org
https://intranet.math.example.edu/sp ->intranet.math.example.edu
https://myapp.example.com/sp         ->myapp.example.com

Pour les non-URL, cette fonction doit les détecter et non les remplacer. Comme indiqué ci-dessous :

nonurl.example.com -> ***no replacement***

Quelqu'un peut-il me fournir une solution au problème ci-dessus ? Je n'ai pas beaucoup de connaissances sur l'utilisation des expressions régulières.

Your Answer
soumettre

1 réponse
0

Le motif ^https?:// 在这里应该很容易使用。我们可以用它来替换任何字符串开头的 http://https:// est la chaîne vide

Dans un motif, ^ 符号表示字符串的开头。这意味着如果 http:// apparaît au milieu d'une chaîne, il ne correspondra pas car il doit être au début

? 将前一个字符标记为可选。在模式中,s 是可选的,以便找到 httphttps

/ est obligatoire car les barres obliques doivent être échappées

const urls = [
  'https://comanage.example.edu/sp',
  'https://wiki.cs.example.org/sp',
  'https://intranet.math.example.edu/sp',
  'https://myapp.example.com/sp',
  'nonurl.example.com',
];

const pattern = /^https?:\/\//i;

urls.forEach(u => {
  console.log(u, '-->', u.replace(pattern, ''));
});
2023-09-22 12:48:19

soumettre

Hot Tools

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Téléchargez la collection de bibliothèques d'exécution requises pour l'installation de phpStudy

VC9 32 bits

VC9 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC9 32 bits phpstudy

Version complète de la boîte à outils du programmeur PHP

Version complète de la boîte à outils du programmeur PHP

Programmer Toolbox v1.0 Environnement intégré PHP

VC11 32 bits

VC11 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC11 phpstudy 32 bits

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser