Rumah > Soal Jawab > teks badan
Saya mempunyai URL berikut:
https://comanage.example.edu/sp https://wiki.cs.example.org/sp https://intranet.math.example.edu/sp https://myapp.example.com/sp
Untuk URL ini, saya perlu menentukan fungsi untuk mengesan sama ada ia adalah URL dan menggantikan laluan https:// dan sp daripadanya. Pada asasnya, saya hanya memerlukan nama hos. Sebagai contoh, seperti yang ditunjukkan di bawah:
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
Untuk bukan URL, fungsi ini harus mengesan dan tidak menggantikannya. Seperti yang ditunjukkan di bawah:
nonurl.example.com -> ***no replacement***
Bolehkah sesiapa memberi saya penyelesaian kepada masalah di atas? Saya tidak mempunyai banyak pengetahuan tentang menggunakan ungkapan biasa.
P粉6800875502023-09-22 12:48:19
Corak ^https?://
在这里应该很容易使用。我们可以用它来替换任何字符串开头的 http://
和 https://
ialah rentetan kosong
Dalam corak, ^
符号表示字符串的开头。这意味着如果 http://
berlaku di tengah-tengah rentetan, ia tidak akan sepadan kerana ia mesti pada permulaan
?
将前一个字符标记为可选。在模式中,s
是可选的,以便找到 http
和 https
/
diperlukan kerana garis miring mesti dilepaskan
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, '')); });