[英]Get everything except match in javascript regular expression
我有以下正則表達式來獲取網址后的第一部分:
^http[s]?:\/\/.*?\/([a-zA-Z-_.%]+).*$
它與以下網址中的test匹配:
foo.com
http://foo.com
http://foo.com/ 測試
http://foo.com/ 測試 /
http://foo.com/ 測試 ?bar
我現在想做的是重新創建相同的URL,但是用不同的值替換test 。 通過在比賽之前或之后取出零件或反轉結果。
我敢肯定有一種正規的方法可以做到這一點,但是我不知道該怎么做。
您可以在/test
之前將捕獲組用於零件,並將其用作替換中的后向參考:
var re = /^(https?:\/\/[^\/]+\/)[^?\/]+/gmi;
var subst = '$1foobar';
var result = str.replace(re, subst);
[^?\\/]+
將匹配下一個/
或?
之前的文本?
網址中的域名之后。 作為原始正則表達式,它還假定URL以http://
或https://
開頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.