簡體   English   中英

PHP 正則表達式 preg_match 以識別 url 模式

[英]PHP regex preg_match to identify url pattern

有沒有辦法讓規則只允許示例 1 和 3 而不是全部 4?

/^(en\/|)([\d]{1,3})([-])(.+?)([\/])$/

例子:

  1. 12-博客/
  2. 12-博客/blog2/
  3. zh/12-博客/
  4. zh/12-博客/blog2/

https://www.phpliveregex.com/p/tFe

您可以使用en/的可選部分,后跟匹配 1-3 位數字, -並且使用否定字符 class 不匹配/ 1+ 次。

請注意,您可以省略[\d][-][\/]的方括號。 如果您選擇與/不同的分隔符,則不必轉義正斜杠。

^(?:en/)?\d{1,3}-[^/]+/$

在零件

  • ^字符串開頭
  • (?:en/)? 可選匹配en/
  • \d{1,3}匹配 1-3 位數字
  • -從字面上匹配
  • [^/]+/匹配除/之外的任何字符 1+ 次
  • $字符串結尾

正則表達式演示| Php 演示

暫無
暫無

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

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