2016-08-23 102 views
0

我目前做這樣的事情正則表達式只允許一個字後跟網址

std::string reg ="^/house/room/section/.*" 

這允許用戶這我的程序拾取並uses.However我只想後段傳遞任何字用戶可以在一節後不放一句話。我如何修改(。*)任何沒有空間的東西。 例如

/house/room/section/A1343   ALLOWED 
/house/room/section/A1343 A1002 NOT ALLOWED because a space was found inside the follow up word 

回答

1

你可以使用一個字符類是不允許的空間,就像這樣:

[^ ]* 

,或者你可以指定非空白字符:

\S* 
+0

謝謝,如果我想向它添加字符「/」以及一個沒有空格或字符「/」的字, –

+0

在這種情況下,只需在字符類中添加「/」 :'[^ /] *'這將匹配任何數量的非空格或斜線的字符。 – neuronaut

0

您可以使用此:

"^\b[a-zA-Z0-9_]+\b$"

它只會允許字母,數字和下劃線標記_,因爲這些是放在一起時會被您的機器解釋爲「單詞」的字符。

相關問題