Regex:如何捕获文件扩展名?

Regex:如何捕获文件扩展名?,regex,Regex,如何确定文件名字符串的文件扩展名 假设我有 I'm.a.file.name.tXt 正则表达式应该返回tXt /^(.*?)\.(.*)$/ “?”使它变得贪婪。你的成绩将在第二组 “?”使它变得贪婪。您的结果将在第二组中。类似于\..[^.]*$的内容应该做它类似于\.[^.]*$的内容应该做它这是什么语言?很有可能您不想实际使用正则表达式-假设名称是字符串,您可能只想将其拆分为句点,然后选择最后一段。好的,这是一个正则表达式的答案,但不是一个正确的答案。这是用什么语言写的?很有可能您不想实

如何确定文件名字符串的文件扩展名

假设我有

I'm.a.file.name.tXt

正则表达式应该返回tXt

/^(.*?)\.(.*)$/
“?”使它变得贪婪。你的成绩将在第二组


“?”使它变得贪婪。您的结果将在第二组中。

类似于
\..[^.]*$
的内容应该做它

类似于
\.[^.]*$
的内容应该做它

这是什么语言?很有可能您不想实际使用正则表达式-假设名称是字符串,您可能只想将其拆分为句点,然后选择最后一段。好的,这是一个正则表达式的答案,但不是一个正确的答案。

这是用什么语言写的?很有可能您不想实际使用正则表达式-假设名称是字符串,您可能只想将其拆分为句点,然后选择最后一段。好的,这是一个正则表达式的答案,但不是一个正确的答案。

您可能不需要正则表达式-大多数语言都有与此等价的答案:

ListLast(Filename,'.')

(如果您出于某种原因确实需要正则表达式,这是正确的。)

您可能不需要正则表达式-大多数语言都有与此等效的:

ListLast(Filename,'.')

(如果您出于某种原因确实需要regex,这是正确的。)

许多语言都有处理文件名和扩展名的内置方法。你在用什么?你用来运行正则表达式的语言/平台没有文件处理例程吗?我很好奇:你为什么每次都写
tXt
,而不是
tXt
?许多语言都有处理文件名和扩展名的内置方式。你在用什么?你用来运行正则表达式的语言/平台难道没有文件处理例程吗?我很好奇:你为什么每次都写
tXt
,而不是
tXt
?我是,而且a.file.name.tXt不仅仅是tXt。在这种情况下,在第二组中删除贪婪的匹配。你说你只想要“tXt”.
使量词懒惰,而不是贪婪!根据您的评论,您可能误解了贪婪匹配与懒惰匹配。阅读更多,但基本上,如果采用这种方法,您需要
(贪婪)。(懒惰)
,以便在第一组中消耗尽可能多的资源,而在第二组中消耗尽可能少的资源。I'm和a.file.name.tXt不仅仅是tXt在这种情况下,请在第二组中删除贪婪匹配项。你说你只想要“tXt”.
使量词懒惰,而不是贪婪!根据您的评论,您可能误解了贪婪匹配与懒惰匹配。更多阅读,但基本上,如果采用这种方法,您希望
(贪婪)。(懒惰)
,以便第一组消费尽可能多,第二组消费尽可能少。作为扩展,您可能希望
\。
成为一个后顾之忧-因此
(?作为一个扩展,您可能希望将
\.
作为一个lookback-so
(?)?