我正在尝试设置我的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")。