当前位置:  开发笔记 > 编程语言 > 正文

Java Regex匹配零次或一次

如何解决《JavaRegex匹配零次或一次》经验,为你挑选了1个好方法。

我正在使用Java中的Regex,我想匹配一个出现0或1个点的字符串..所以我希望任何带有单点或无点的字符串都返回true,带有2个或更多点的字符串返回false.

根据Java Docs:

X?X,曾经或根本没有

所以我有以下内容:

String str = "abc.def";
System.out.println(str.matches(".?"));

我期待str匹配.0或1次,但它打印false.

我的问题:我错过了解释的含义?吗?我该怎么做才能让它匹配0或1次?



1> Jimmy T...:

正确的模式是:

^[^.]*\\.?[^.]*$

首先是任何不是点的字符数,然后可选地一个点后跟任何不是点的字符数.


刚刚意识到可以通过做"^ [^.]*\\.?[^.]*$`来缩短它
推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有