REGEX:选择最后一个下划线和点之间的所有文本

时间:2019-06-20 12:04:54

标签: regex string notepad++

我在检索字符串的特定信息时遇到麻烦。

字符串如下:

20190502_PO_TEST.pdf

这包括.pdf部分。我需要检索最后一个下划线(_)和点(。)之间的部分,让我进行测试

我已经尝试过了:

[^_]+$

这将返回: TEST.PDF

我也尝试过:

_(.+)\.

这将返回: PO_TEST

1 个答案:

答案 0 :(得分:2)

此模式[^_]+$直到字符串末尾才匹配下划线,并且也匹配.

在这种模式_(.+).中,您必须对点进行转义以使其与_(.+)\.相同,如demo所示,然后您的匹配项将在第一个捕获组中。

您可能还会使用的内容:

^.*_\K[^.]+
  • ^.*_匹配最后一个下划线
  • \K忘记匹配的内容
  • [^.]+匹配0+次而不是一个点

Regex demo