最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用正則表達式從鏈接中獲取圖片名稱

 更新時間:2022年05月31日 10:39:57   作者:水開泡茶  
正則表達式有時可用來判斷是否包含某些數(shù)據(jù),有時可用來獲取匹配數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于使用正則表達式從鏈接中獲取圖片名稱的相關(guān)資料,需要的朋友可以參考下

需求介紹

后端的數(shù)據(jù)接口返回圖片鏈接列表,前端將圖片列表渲染出來,展示的時候,需要顯示圖片名稱。如以下的圖片鏈接,那么怎么比較快速的從鏈接中獲取圖片的名稱呢?

鏈接例子:https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp?q-sign-algorithm=xxxx

分析

一般來說,圖片的名稱都是在鏈接中最后一個/之后,如果鏈接有攜帶參數(shù),那么圖片名稱就是在鏈接中最后一個/之后、?之前。

那么無論使用什么方法,都必須滿足上述條件。

鏈接中存在參數(shù)

鏈接中有參數(shù)存在, 即有?存在:這種比較簡單,因為存在這種獨一無二的標志,那么需要先匹配圖片名稱,再匹配所在的位置即可:

let url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp?q-sign-algorithm=xxxx'
// 匹配帶有英文、_、.、數(shù)字的圖片名稱
const reg = /[\w.]+(?=\?)/g
// 匹配帶有中文、英文、_、.、數(shù)字的圖片名稱
const regWithChinese = /[\w.\u4e00-\u9fa5]+(?=\?)/g
const result = url.match(reg)
// 若不存在符合的條件,result值為null,因此需要進行判斷
const imgName = result ? result[0] : '不存在'
console.log('imgName: ', imgName);
// 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp

鏈接中不存在參數(shù)

鏈接中不存在參數(shù),即沒有存在: 這種比較麻煩,沒有?,那么剩下的判斷條件就是圖片名稱處于最后一個/的之后位置了,這個有三種方法:

方法一

第一種利用/為標識,匹配所有非/的字符串,取最后一個:

const url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp'
const reg = /[^/]+/g
const imgName = url.match(reg).filter(item => item).pop()
console.log('imgName: ', imgName);
// 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp

方法二

第二種是先通過(?!.*/)找出不是以/結(jié)尾的字符串的起始位置,可以理解為最后一個/后面的位置,然后匹配字符串:

const url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp'
const reg = /(?!.*\/).*/g
const imgName = url.match(reg).filter(item => item).pop()
console.log('imgName: ', imgName);
// 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp

方法三

第三種是在前兩種結(jié)合,利用/為標識,匹配所有非/的字符串,然后找出位置不是在/前面的字符串:

const url = 'https://xxxxxxxx.com/Upload/File/Customer/Dtest1202/Customer/T220326-3/1_SalesOrderAttachment_File_41XV.webp'
const reg = /[^/]+(?!.*\/)/g
const imgName = url.match(reg).filter(item => item).pop()
console.log('imgName: ', imgName);
// 輸出 imgName: 1_SalesOrderAttachment_File_41XV.webp

總結(jié)

到此這篇關(guān)于使用正則表達式從鏈接中獲取圖片名稱的文章就介紹到這了,更多相關(guān)正則表達式鏈接獲取圖片名稱內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • php驗證用戶名是否以字母開頭與驗證密碼實例

    php驗證用戶名是否以字母開頭與驗證密碼實例

    這篇文章主要介紹了php驗證用戶名是否以字母開頭與驗證密碼,實例匯總了幾個用戶注冊及提交表單時常用的正則表達式,非常具有實用價值,需要的朋友可以參考下
    2014-12-12
  • linux grep與正則表達式使用介紹

    linux grep與正則表達式使用介紹

    grep (縮寫來自Globally search a Regular Expression and Print)是一種強大的文本搜索工具,它能使用特定模式匹配(包括正則表達式)搜索文本,并默認輸出匹配行
    2020-03-03
  • PHP 正則表達式 推薦

    PHP 正則表達式 推薦

    正則表達式,大家在開發(fā)中應(yīng)該是經(jīng)常用到,現(xiàn)在很多開發(fā)語言都有正則表達式的應(yīng)用,比如javascript,java,.net,php等等,我今天就把我對正則表達式的理解跟大家嘮嘮,不當之處,請多多指教
    2012-03-03
  • 正則表達式Regular Expression (RegExp)詳解

    正則表達式Regular Expression (RegExp)詳解

    正則表達式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達式、規(guī)則表達式、常規(guī)表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE
    2015-11-11
  • DreamWeaver中使用正則技術(shù)搜索

    DreamWeaver中使用正則技術(shù)搜索

    DreamWeaver中使用正則技術(shù)搜索...
    2007-01-01
  • EditPlus 正則表達式替換字符串詳解

    EditPlus 正則表達式替換字符串詳解

    正則表達式是一個查詢的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以擴展查找字符串的能力,正則表達式在查找和替換字符串的作用不可忽視,它能很好提高工作效率。
    2009-08-08
  • Java正則表達式過濾出字母、數(shù)字和中文

    Java正則表達式過濾出字母、數(shù)字和中文

    正則表達式在java程序中應(yīng)用非常廣泛,本文給大家介紹java正則表達式過濾字母、數(shù)字和中文,本文代碼講解的非常詳細,非常具有參考價值,感興趣的朋友快來看看吧
    2015-10-10
  • Java正則表達式基礎(chǔ)入門知識

    Java正則表達式基礎(chǔ)入門知識

    正則表達式是一種可以用于模式匹配和替換的規(guī)范,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)組成的文字模式,它 用以描述在查找文字主體時待匹配的一個或多個字符串。
    2015-09-09
  • grep用法詳解 grep與正則表達式

    grep用法詳解 grep與正則表達式

    首先要記住的是: 正則表達式與通配符不一樣,它們表示的含義并不相同!
    2012-09-09
  • Java正則表達式使用

    Java正則表達式使用

    本篇文章主要給大家介紹java在正則表達式的使用,本篇文章給大家主要介紹應(yīng)用點在抓取網(wǎng)頁中的email地址和代碼統(tǒng)計,感興趣的朋友一起看看吧
    2015-09-09

最新評論

永州市| 深泽县| 吉隆县| 洛川县| 姚安县| 资溪县| 广丰县| 平原县| 灵川县| 东方市| 河池市| 裕民县| 遵化市| 新源县| 扎囊县| 竹北市| 卢湾区| 沭阳县| 晋江市| 桃园县| 武汉市| 湘西| 通道| 平安县| 连州市| 巨鹿县| 罗山县| 视频| 丰城市| 曲周县| 宁城县| 平南县| 大姚县| 青浦区| 常宁市| 沙雅县| 昌黎县| 运城市| 襄垣县| 云和县| 云安县|