[英]Regex to find certain characters in a string
我正在使用Javascript進行此操作,因此可能會有更簡單的方法? 但是我有一個看起來像這樣的字符串:
designs/<random_id>/<random_id>/icon_<random_id>.png
例如:
designs/DMFSx881yveor8qolW7DUuPxWDQ2/e53BqQG2Y3wnn8uVRw8m/icon_a5898064.png
我要做的是檢查此字符串是否以icon_<random_id>.png
結尾。如果是,請執行X,否則不執行任何操作
我對Regex不太好。 我已經嘗試過^icon\\_{*}\\.png$
但是我沒有很多樂趣
那個符合您的用例:
\/icon_(\w+)\.png$
然后,您可以執行以下操作:
var matches = str.match(/\/icon_(\w+)\.png$/g);
您可以使用此代碼簡單檢查部分是否存在:
let reg = /(icon_[\S]+\.png)$/iu;
let str = 'designs/DMFSx881yveor8qolW7DUuPxWDQ2/e53BqQG2Y3wnn8uVRw8m/icon_a5898064.png';
let check = str.match(reg);
if(Array.isArray(check) && check[0]) {
console.log('exists');
}else{
console.log('not exists');
}
我想您可能正在尋找類似/(icon_[A-z0-9]+.png)$/
東西。
var img-reg = /(icon_[A-z0-9]+.png)$/;
var url = 'designs/DMFSx8uPxWDQ2/e53BqQG2Y3wnn8uVRw8m/icon_a58598064.png';
if (img-reg.test(url)) {
//do something because it matched.
}
icon_ +任意數量的數字或字母,后跟.png,而$表示它必須在字符串的末尾。 當您在開頭使用^時,您指出起點也必須匹配。
此正則表達式可以滿足您的目的:
^.*icon\_[a-z,0-9]*\.png$
/icon\\_[A-z0-9]{8}\\.png/
經過regex101.com測試。 它還為正則表達式的工作原理提供了很好的解釋。
if x = 'your string'
y = x.match(/\/icon_[^/]+.png/);
如果此返回值為y,則需要使用x字符串
您可以使用以下正則表達式:
designs\\/[A-Za-z0-9]*\\/[A-Za-z0-9]*\\/icon_[A-Za-z0-9]*.png
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.