正则表达式 - 匹配具有零个或一个空格的字符串

cra*_*ool 7 java regex

我正在尝试匹配以@开头的字符串,可以包含任意数量的字母或数字,但最多只能包含一个空格(或零空格).到目前为止我有

@([A-Za-z0-9]+)
Run Code Online (Sandbox Code Playgroud)

它匹配字符但没有空格.我想我需要\ {{0,1}但是我不知道该把它放在哪里..任何人都可以帮忙吗?

谢谢.

Ada*_*ost 8

假设你只关心单词中的空格,而不是前导或尾随,那么你可以使用它:

@[A-Za-z0-9]* ?[A-Za-z0-9]*
Run Code Online (Sandbox Code Playgroud)

说明:

@ 以文字@开头

[A-Za-z0-9] 任何字母或数字

* 字母或数字可以是{0,infinity}的长度

? 空格,0或一次

[A-Za-z0-9]* 空格后的任意数量的尾随字母或空格(如果有的话)