[英]Regexp match everything after a word
我正在嘗試從數據URL中提取base64字符串。 字符串看起來像這樣,所以我試圖提取單詞base64之后的所有內容
test = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQAB'
所以我想從上面的字符串中提取以下內容
,/9j/4AAQSkZJRgABAQAAAQAB
這是我的正則表達式
const base64rgx = new RegExp('(?<=base64)(?s)(.*$)');
console.log(test.match(base64rgx))
但這失敗並顯示以下錯誤:
VM3616:1 Uncaught SyntaxError: Invalid regular expression: /(?<=base64)(?s)(.*$)/: Invalid group
似乎不支持向后看。 但是好消息是您不需要在這里四處看看,以下模式應該可以工作:
test = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQAB' var regex = /.*?base64(.*?)/g; var match = regex.exec(test); console.log(match[1]);
我不確定到底要捕獲base64
之后的字符串多少。 例如,如果您不希望使用逗號或9j
部分,那么我們可以輕松地修改模式以進行處理。
var test = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQAB'; var regex = /(?<=base64).+/; var r = test.match(regex); console.log(r);
這是正則表達式: https : //regex101.com/r/uzyu0a/1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.