将 , space 和 [A-z] 与可能的第二个逗号 RegEx 匹配
Match , space and [A-z] with possible second comma RegEx
我有文件名为
Author_1999.pdf
Authorone, Authortwo_1999.pdf
Authorone, Authortwo, Authorthree.pdf
Arian, Nachmias, Amir_2002.pdf
Author, Review, Source_2015(2).pdf
Avraham, Hacohen_1930.pdf
由参考经理 Mendeley 制作。我需要它们的格式都是 Authorone1999.pdf 或 Authorone1999(2).pdf。我的正则表达式只匹配最后一个逗号 space author 和 _
/(, )+[A-z ]*,?[A-z]*,?-?[A-z]*_/
如何匹配可选的第一个逗号 space Authortwo。永远不会超过两个逗号,因为它产生
Authorone, et al._1999.pdf
而且我已经把它们清理干净了。
怎么样:
/, +[A-Za-z-]+(?:, [A-Za-z-]+)?(?:, [A-Za-z-]+)?_/
这是一个简单的解决方案:
/^(?<author>[a-z-]+).*_(?<year>[\d()]+)/i
这会将 author
和 year
存储到两个命名的捕获组中。
我有文件名为
Author_1999.pdf
Authorone, Authortwo_1999.pdf
Authorone, Authortwo, Authorthree.pdf
Arian, Nachmias, Amir_2002.pdf
Author, Review, Source_2015(2).pdf
Avraham, Hacohen_1930.pdf
由参考经理 Mendeley 制作。我需要它们的格式都是 Authorone1999.pdf 或 Authorone1999(2).pdf。我的正则表达式只匹配最后一个逗号 space author 和 _
/(, )+[A-z ]*,?[A-z]*,?-?[A-z]*_/
如何匹配可选的第一个逗号 space Authortwo。永远不会超过两个逗号,因为它产生
Authorone, et al._1999.pdf
而且我已经把它们清理干净了。
怎么样:
/, +[A-Za-z-]+(?:, [A-Za-z-]+)?(?:, [A-Za-z-]+)?_/
这是一个简单的解决方案:
/^(?<author>[a-z-]+).*_(?<year>[\d()]+)/i
这会将 author
和 year
存储到两个命名的捕获组中。