1樓:薇蜜的夏天
//方法1: match 推薦
//例1.
constid=
window
.location
.search
.match
(/id=(\S*?)&/)[1
]//例2.
const
str=
window
.location
.search
//"?type=store&id=123&t=1"
const
[,type]=
str.
match
(/type=(\S*?)&/
)//['type=store&', 'store', index: 1, input: '?
type=store&id=123&t=1', groups: undefined]
console
.log
(type
)/// "store"
// 方法2:slice/substring + indexOfonst
str=
window
.location
.saerch
// "?type=store&id=123&t=1"
const
[,type]=
str.
slice
(str
.indexOf
("type="
),str
.indexOf
("&"
)).split
("="
)console
.log
(type
)// "store"
為什麼使用正規表示式會慢?
這題我知道,我來答一下。因為有的正則引擎使用NFA來做字串匹配,NFA有很多不同的路徑,當嘗試的某一路徑錯誤的時候就要回溯到前一狀態,嘗試其他路徑,所以時間複雜度較大。不知道是否有正則引擎用DFA來實現,DFA是最大匹配原則,只用跑一遍字串即可,時間複雜度與字串的長度相關,但是實現麻煩成本高。 已登...
如何在python中使用正規表示式提取巢狀標籤
F period 這是個很有意思的問題,之前的回答中也有人提出了解決方案 import resource text aaabbbccc regex result re findall regex source text 當然這麼做的前提是你的原資料是規範的XML,規範的XML文字內容中不允許含有 這...
Java正規表示式捕獲組問題?
李昂 沒有輸出顯然是因為字串中沒有匹配你pattern的,你的pattern是指1到9其中乙個數字出現一次,然後後面跟著零或多個的數字,然後後面再緊接著出現乙個或多個0。另外,你如果是是想1 9的數字出現零次或多次就得寫 0 9 而不是 0 9 d 中文居然能把正規表示式表達得這麼清楚,感覺可以用中...