Expressions régulières JavaScript pour la détection et le fractionnement d'URL
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.
1 réponse
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 是可选的,以便找到 http 和 https
/ 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, ''));
});
Outils chauds Tags
Hot Questions
Hot Tools
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
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
Programmer Toolbox v1.0 Environnement intégré PHP
VC11 32 bits
Bibliothèque d'exécution de l'environnement d'installation intégré VC11 phpstudy 32 bits
SublimeText3 version chinoise
Version chinoise, très simple à utiliser
Sujets chauds





