2014-03-01 46 views

回答

1

像這樣的東西應該符合您字符串。

^/.*/$ 

因此,正則表達式希望字符串以正斜槓開始和結束,並且可以有任何介於兩者之間的字符串。

+0

請注意'。*'不允許在斜槓之間出現字符。它也會允許出現一個或多個'/'字符。另外,模式中的'/'字符可能需要被轉義(取決於解釋正則表達式的語言)。 – DavidRR

+0

@DavidRR他沒有說什麼字符串是有效的。我同意逃避/(他沒有說他在使用他們的語境,但是你是對的)。 – xp500

+0

你認爲'/ te/st /'應該被允許嗎?我的預感可能並非如此。但是,是的,這是一個有教養的猜測。 – DavidRR

1

如果你想允許斜槓字符之間只有小寫字母字符,試試這個:

^\/[a-z]+\/$ 

說明:

^  require match to start at the very beginning of the string 
\  escape the forward slash in the input string 
[a-z] the character class representing the set of lower case characters 
+  the preceding character or character class occurs one or more times 
$  require match to end at the very end of the string 

編輯:當我回答這個問題時,我承認可能不會在該問題最初的四個標籤中標記標籤。一些正則表達式解析器(例如Perl提供的)需要使用delimiter character來指定模式的開始和結束。對於這樣的正則表達式解析器,正斜槓/通常用作分隔符。如果是這種情況,則有必要轉義出現在正則表達式中的/

如果有必要轉義/,並以qregexp處理的正則表達式出現問題,則會產生問題。也許不是–我會離開的,由專家回答qregexp

^/[a-z]+/$ 

最後,如果一個特定的正則表達式可以用於:這就是說,對於正則表達式解析器是做要求/進行轉義,轉義字符\可以從我上面顯示的圖案下降不止一個環境,它doesn't hurt逃脫一個可能在這些環境中被認爲是特殊的角色。

+1

你真的需要逃避QRegExp中的'/'字符嗎? –

+0

@AlexisWilke:感謝您的反饋。請參閱我的編輯。 – DavidRR