Regex 如何用不同的模式匹配表达式

Regex 如何用不同的模式匹配表达式,regex,splunk,Regex,Splunk,我需要匹配以下模式来提取文件类型 some text here ../../file/path/dir/200.FILETYPE.234234.20150404_092222.xml and some text some random text here ../../file/path/dir/FILETYPE.345223.SOMETEXT.20150404_092222.xml and some other text 尝试此操作以提取文件类型 ".*\/dir\/(?<importf

我需要匹配以下模式来提取文件类型

some text here ../../file/path/dir/200.FILETYPE.234234.20150404_092222.xml and some text
some random text here ../../file/path/dir/FILETYPE.345223.SOMETEXT.20150404_092222.xml and some other text
尝试此操作以提取文件类型

".*\/dir\/(?<importfiletype>.*)\..*\..*\..*\.xml
“*\/dir\/(?.*)\..*\..*\..*\..*\.xml
但它在提取的字段中选择FILETYPE.345223,而不仅仅是FILETYPE。它正确地提取了FILETYPE,因为xml前面只有3个点。非常感谢您的帮助

注意:文件类型可以是任何单词,如jpg、png等

示例路径: ../../file/path/dir/jpg.345223.SOMETEXT.20150404_092222.xml ../../file/path/dir/200.jpg.3235223.SOMETEXT.20150404_092222.something.xml ../../file/path/dir/png.SOMETEXT.SOMETEXT.20150404_092222.xml

在png或jpg之后和之前可以有3或4个点

^.* (.*\/dir\/[^\.]*)\.([^ ]*).*$

第1组是路径+文件名,第2组是文件类型(从第一个点到下一个空白)

它按照您的正则表达式正常工作:-但仍然不清楚,您想要什么?它选择了“200”和“其他文件类型”,如果您看到两行原始数据。。一行在xml字符串前面有3个点,另一行有4个点。因此,每种情况下都有3个点匹配,但我得到的是另一个文件类型。345223,而不是第二种情况下的另一个文件类型。我做了一个测试来告诉你问题出在哪里。我只需要另一个文件类型或之前的任何文件类型,即第一行中的200.TYPEXFILETYPE,第二行中的另一个文件类型点的数目
200.TYPEXFILETYPE.234234.20150404_092222.xml
=4点的数目
ANOTHERFILETYPE.345223.SOMETEXT.20150404_092222.xml
=4你说点的数目有什么不同?@rock321987我只在TYPEXFILETYPE之后而不是在那个词之前计数。我需要在/和TYPEXFILETYPE后面加上完整字符。(TYPEXFILETYPE是包括点在内的任何单词)