2010-02-25 196 views

回答

70

只是逃避破折號,以防止它們被解釋(我不認爲下劃線需求逃脫,但它不能傷害)。你不會說你正在使用哪個正則表達式。

([A-Za-z0-9\-\_]+) 
+0

作爲一項後續行動,如何在排除期間的情況下應用上述規則?例如,我想忽略image.png – 2010-02-25 22:38:15

+4

@George:這個正則表達式已經不符合句點。 – 2010-02-25 22:45:45

+1

@George除了新的問題,請不要詢問任何地方的後續問題。評論並非如此;答案並非如此;如果您有新問題,請提出一個新問題。 – 2015-03-26 15:29:46

21

你的表情應該已經匹配破折號,因爲最後的 - 不會被解釋爲範圍操作符(因爲範圍無結束)。要添加下劃線以及嘗試:

([A-Za-z0-9_-]+) 
9

根據您的正則表達式的變體,你也許可以簡單地這樣做:

([\w-]+) 

而且,你可能並不需要括號,除非這是一個更大的表達式的一部分。

+0

這是爲一個.htaccess文件,所以我需要括號,因爲如你所說,它是在一個更大的表達式:) – 2010-02-25 22:40:10

+0

這對我來說很有效,我認爲它使用'word'快捷方式有點清潔。其實我用[\ w - ] * – 2013-12-05 23:17:33

0

確實可以匹配所有這些字符,但是爲了避免-的字面意思很明顯,這是比較安全的。

如果您使用的是POSIX variant你可以選擇使用:

([[:alnum:]\-_]+)

但因爲你是包括下劃線我會簡單地使用:

([\w\-]+)

(工程所有變種)

相關問題