正则表达式只允许一个单词后跟一个网址

时间:2016-08-23 23:57:03

标签: regex

我目前正在做这样的事情

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

这允许用户在我的程序选择和使用的部分之后传递任何单词。但是我只希望用户能够在一个单词之后输入一个单词而不是一个句子。如何修改(。*)任何没有空格的东西。 例如

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

2 个答案:

答案 0 :(得分:1)

您可以使用不允许空格的字符类,如下所示:

[^ ]*

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

\S*

答案 1 :(得分:0)

您可以使用:

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

它只允许使用字母,数字和下划线符号_,因为这些字符组合在一起时会被机器解释为“一个字”。