[英]PHP regex that accept only selected words or no word at all
我正在嘗試做一個正則表達式,它將接受以下內容:
/profile
/profile/photo
/profile/video
但不接受/ photo和/ video以外的任何內容:
我嘗試了以下方法,但沒有任何運氣:
/profile((\/(photo|video))|[^\w])/
有人可以告訴我我的正則表達式怎么了。
謝謝
這將工作:
^\/profile(?:\/(photo|video))?$
關於您的正則表達式 : /profile((\\/(photo|video))|[^\\w])/
\\w
匹配az, AZ, 0-9, _
因此^\\w
將匹配任何其他字符。 例如 profile/
, profile%
, profile#
將導致匹配。 由於您編寫的是[^\\w]
而不是[^\\w]+ or *
因此它將在profile*here*
后與單個non-word
字符匹配profile*here*
您尚未在profile
添加/
從您編寫的內容派生而來,這也將起作用:
^\/profile(\/(photo|video))?$
嘗試這個:
/^\/profile(\/photo|\/video|)?$/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.