簡體   English   中英

php regex 從第二次出現字符開始?

[英]php regex start at the second occurrence of a character?

我已經為此奮斗了一段時間,我有這個字符串: storage/12426--the sunflower boys--07-09-2014/Authorization letter/Authorization letter--4--09-15-2015--15-39.pdf

我很想只得到這部分07-09-2014 ,它位於前兩個斜線之間。

到目前為止,我想出了這個: --[^/]*它只給了我--the sunflower boys--07-09-2014

我如何得到我正在尋找的東西?

使用數字\\d匹配:

/^[^/]*\/[^/]*(\d\d-\d\d-\d\d\d\d)\//

您可以在 2 個否定字符類中使用捕獲組:

\/[^\/]*(\d{2}-\d{2}-\d{4})[^\/]*\/

見演示https://regex101.com/r/mL3aF7/1

如果格式一致,您可以拆分/並取第二組,然后拆分--取第三組。

$date = explode('--', explode('/', $str)[1])[2];

您可以使用基於匹配重置\\K的正則表達式:

--[^-]*--\K[^/]*

正則表達式演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM