正则表达式 - 匹配带或不带扩展名的文件名

regex - Match filename with or without extension

需要一个正则表达式模式来匹配以下所有内容:

hello
hello.
hello.cc

我试过\b\w+\.?\w+?\b,但这不匹配"hello."(上面提到的第二个字符串)。

问题是你在点之后强制使用单词边界 \b,这不匹配,而且你需要在 \w+? 之后至少有一个字符(惰性匹配!) . 试试这个:

\b\w+\.?(\w+\b)?

https://regex101.com/r/lX1aE0/1

有关单词边界的更多解释,请查看此link
http://www.regular-expressions.info/wordboundaries.html

这是我能做到的最简单的事情了:

\b\w+\.?\w*

demo