我在检索字符串的特定信息时遇到了问题。 该字符串如下: 20190502_PO_TEST.pdf 这包括.pdf部分。我需要检索最后一个下划线(_)和点号(.)之间的部分,剩下TEST。我尝试过以下方法:[^_]+$ 这会返回: TEST.PDF我也尝试了这个:_(.+)\. 这个代码返回: PO_TEST
这个模式[^_]+$将匹配到除了字符串结尾的下划线,并且也会匹配.。在这个模式_(.+).中,你需要用转义符号来匹配句点,就像这样_(.+)\.,可以参考演示,然后你的匹配结果将在第一个捕获组中。你还可以使用以下内容:^.*_\K[^.]+ ^.*_ 匹配最后一个下划线 \K 忘记已匹配的内容 [^.]+ 匹配零次或多次非点号字符 正则表达式演示 "Original Answer" 翻译成 "最初的回答"
^.*_\K[^._]*
。 - user3458_<emptystring>。
- user3458^.*_\K[^.]*
。由于已经匹配了最后一个下划线,因此可以从字符类中删除多余的_
。 - The fourth bird