我有一個像這樣的字串:
Webcam recording https://www.example.com/?id=456&code=123
或喜歡:
Webcam recording https://www.example.com/?id=456&code=123<br><b>test<b>
要從我使用的第一個示例中提取 URL: var reg_exUrl = /\bhttps?:\/\/[^ ] /g;
現在我嘗試擴展正則運算式,因此它需要第一個匹配項,直到空格(行尾)或 <br>標記。
這是我的嘗試:
var reg_exUrl = /\b(https?:\/\/[^ ] )(\<br\>)/g;
在https://regex101.com/r/gudNab/1上看起來不錯,并顯示為兩個不同的匹配項。
但是在 Javascript 中使用正則運算式,<br>標簽總是包含在鏈接中。
使用var matches = line.match(reg_exUrl);給了我matches[0]:
https://www.example.com/?id=456&code=123<br>
而不是想要的 https://www.example.com/?id=456&code=123
uj5u.com熱心網友回復:
如果您想在之前選擇文本,<br>您可以使用正向前瞻。
https?:\/\/.*?(?=<br>)
添加 a$和\n以提前結束輸入:https?:\/\/.*?(?=<br>|$|\n)
const regexp = /https?:\/\/.*?(?=<br>|$|\n)/;
const testString = "Webcam-Aufnahme https://www.edumaps.de/file?id=959559110184937375.mp4&code=4yrn1ev<br>**test**";
console.log(testString.match(regexp)[0])
參見regex101
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/392461.html
標籤:javascript 正则表达式
上一篇:TypeError:nullisnotanobject(evaluating'daysData.map')-試圖映射物件陣列
