我试图在参考文献列表中找到参考文献的索引。让我举例说明:
这是我从一个网站上找到的参考资料清单:
ref = "<p class="references" style="font-size:15px">1. Mcminn. (2003). Last's Anatomy. Elsevier Australia. ISBN:0729537528. <a href="http://books.google.com/books?vid=ISBN0729537528">Read it at Google Books</a> - <a href="http://www.amazon.com/gp/product/0729537528">Find it at Amazon</a><br>
2. Netter, F. H. (2019). Atlas of human anatomy. Philadelphia, PA: Elsevier.</p>"
我想我可以用这个得到参考索引(即“1”和“2”):
^{pr2}$但是我得到了所有的号码:[1, 2003, 729537528, 2, 2019]
我怎样才能得到引用索引的列表,也就是[1, 2]
我想一种方法是找到后面跟一个点的数字,但是我不知道怎么做。在
你可以试试这个:
将输出:
^{pr2}$您可能需要定义更多的结构,因为只有数字(由\d捕获的数字)和点也将捕获“8”。在ISBN编号的末尾:国际标准书号:0729537528。这里我使用了几个字符(在这个例子中)有助于区分这两种情况。一个引用前面有“>;”,另一个引用前面有空格(\s)。在
你必须“逃出”周期,这样“[0-9]*\”之类的东西应该会起作用。这是我的想法,所以可能有点错误;我也会让你自己去弄清楚为什么会有。在
请注意,Python中的Regex表达式与其他实现略有不同。有关详细信息,请参见:
参见:https://docs.python.org/3/library/re.html
建议你从这里开始:
https://docs.python.org/3/howto/regex.html#regex-howto
以下是图书馆页面的相关部分(向下约1/3):
特殊序列由“\”和下面列表中的一个字符组成。如果普通字符不是ASCII数字或ASCII字母,则结果RE将匹配第二个字符。例如,\$与字符“$”匹配。在
对于eqivalent Python2.x页面,请更改页面左上角的版本选择器。在
你可以用
见Python demo:
^{pr2}$详细信息
(?<![^\s>])
-如果当前位置的左边有一个字符而不是空白和>
,则匹配失败([0-9]+)
-第1组:一个或多个数字(它将是re.findall
的输出值).
-a.
和一个空格(用\s
替换正则空格以匹配任何空格)。在参见regex demo。在
相关问题 更多 >
编程相关推荐