如何使用動態數字preg_match固定字母?將固定字母與動態數字匹配
E.g.
#^[1-9][0-9]*$#
是獲取兩個數字的代碼是任何字符串的開始,例如1和0
我想要做的是匹配一個文件的所有字符串,看起來像...... r00,r01,r02,r03 ......等等,直到例如R999
什麼,我試圖做的是
#r^[1-9][0-9]*$#
*這是使用的preg_match
然而,它沒有完成工作。任何幫助/建議?
如何使用動態數字preg_match固定字母?將固定字母與動態數字匹配
E.g.
#^[1-9][0-9]*$#
是獲取兩個數字的代碼是任何字符串的開始,例如1和0
我想要做的是匹配一個文件的所有字符串,看起來像...... r00,r01,r02,r03 ......等等,直到例如R999
什麼,我試圖做的是
#r^[1-9][0-9]*$#
*這是使用的preg_match
然而,它沒有完成工作。任何幫助/建議?
,如果你想停止在r999
嘗試這種模式:
#^r[0-9]{2,3}$#
這將匹配:
^
)r
$
)或者,如果不存在上限—即r999999
這種模式的nd爲可接受的:
#^r[0-9]{2,}$#
這將匹配:
^
)r
$
)您的代碼將不會與OP所要求的r0x類似:r00,r01,r02,r03 ...等等,直到例如r999' –
@Glavić是的,我剛剛看到並糾正它。 –
^
的意思是「行的開始」,除非它在括號內使用,意思是「除了後面的字符之外的所有內容」。
您想要類似#r\d{2,3}#
,可選地帶有^
第一個或$
最後一個(除了哈希值)。
我的2美分:
\br\d{1,3}\b
它將匹配R0,R00,R01,R02,R03 ... R999但不r\d{4,}
''^ =字符串,'R 2'邏輯的起點意味着_「'r'後跟字符串」_「的開始,這在邏輯上是不可能的。你可能想要''^^r [0-9] {0,3} $#'(你似乎也想讓一個開始的'0',所以放下'[1-9]'開始)。 – Wrikken