我想有一个正则表达式来验证字符串的格式是否以#开头,后跟随机数(长度是无限的),数字之间的空格也是任意的。例如,#31 5 2 0000 12我想出了正则表达式 ^[\\#][0-9]$ ,但似乎是错的。有人能帮我吗?
^[\\#][0-9]$
wztqucjr1#
如果您至少需要一个数字,请选中此项
^#\s*\d[\d\s]*$
开始搞砸可选空间数字可选数字和空格结束
798qvoo82#
^#(\d+\s?)$接受#,#15,#2 14 52。。。如果要接受多次空格一起更改?带着
8yoxcaq73#
这是 normal* (special normal*)* 图案:
normal* (special normal*)*
^#\d+(\s+\d+)*$ # as a Java string: "^#\\d+(\\s+\\d+)*$"
注意:如果您使用 .matches() ,这在java中确实是一个错误的名称,您可以删除 ^ 以及 $ 因为它们将自动插入。java中的实模式匹配是通过 .find() (哪个 String 没有,但是哪个 Matcher 有)注2:这将不允许尾随空格;如果可以有尾随空格,请更改为:
.matches()
^
$
.find()
String
Matcher
^#\d+(\s+\d+)*\s*$ # as a Java string: "^#\\d+(\\s+\\d+)*\\s*$"
mwkjh3gx4#
^[\\#][0-9]$ 将匹配一个数字,后跟 # 签字。你需要
#
^#\d+(\s+\d+)*$
posix也允许任何其他语言字符。
^#[[:digit:]]+([[:space:]]+[[:digit:]]+)*$
注意:这是一个有效的正则表达式。您可能需要进行一些调整,以使其与java风格兼容。
4条答案
按热度按时间wztqucjr1#
如果您至少需要一个数字,请选中此项
开始
搞砸
可选空间
数字
可选数字和空格
结束
798qvoo82#
^#(\d+\s?)$
接受#,#15,#2 14 52。。。如果要接受多次空格一起更改?带着
8yoxcaq73#
这是
normal* (special normal*)*
图案:注意:如果您使用
.matches()
,这在java中确实是一个错误的名称,您可以删除^
以及$
因为它们将自动插入。java中的实模式匹配是通过.find()
(哪个String
没有,但是哪个Matcher
有)注2:这将不允许尾随空格;如果可以有尾随空格,请更改为:
mwkjh3gx4#
^[\\#][0-9]$
将匹配一个数字,后跟#
签字。你需要posix也允许任何其他语言字符。
注意:这是一个有效的正则表达式。您可能需要进行一些调整,以使其与java风格兼容。