2016-08-23 110 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$"

它只会允许字母,数字和下划线标记_,因为这些是放在一起时会被您的机器解释为“单词”的字符。

相关问题