用于获取位于(反斜杠)和第一个之间的数据的正则表达式.(点)



我正在尝试设置我的calibre(calible-book.com),以自动将导入的pdf文件中的数据获取到库中。通常我这样命名我的文件:

作者。标题地方的出版商已发布。ISBN.pdf

示例:

C: \测试\ RANCI指定RE,Jacques。哦,无知之徒。贝洛奥里藏特。Autêtica。2010.978-85-7526-045-6.pdf


我一直在尝试使用regex:获取第一个paramenter:Author

([^\]+).

我得到这个值:

RANCI指定RE,Jacques。哦,无知之徒。贝洛奥里藏特。Autêtica。2010.978-85-7526-045-6


由于正则表达式从左到右读取并不是在.?的第一个点(.)处停止。?

此示例中所需的值为:

RANCI指定RE,Jacques

其他字段有什么提示吗?标题示例所需值为:

无知者

谢谢你的建议!!!

^.+?.将为您提供C:TestRANCIÊRE, Jacques.

这意味着获取第一个点之前的所有字符。

如果你只想要RANCIÊRE, Jacques而不是使用:

(?!(.*\))(.+?.)

将为您提供RANCIÊRE, Jacques.

Regex捕获是贪婪的,这意味着它试图获得尽可能大的匹配。尝试非贪婪版本:

([^\]+?).

请注意,唯一的区别是添加了?

之后,您应该能够仅用1检索作者的姓名("RANCI指定RE,Jacques")。

相关内容

最新更新