以下是文本示例:
- 美国心理协会。(2016). 中心
抑郁症流行病学研究(CESD)。12月7日检索,
2016年,来自美国心理协会,http://www.apa.org/pi/
关于/出版物/医务人员/实践设置/
评估/工具/抑郁量表.aspx
- Beattie,G.S.(2005年11月)抑郁的社会原因。
2017年5月31日检索自http://
www.personalityresearch.org/papers/beattie.html
我想要我尝试过的文本的粗体部分:
/\)\.|\s[a-zA-Z]+\./
在这里,我查找“)”然后“.”然后是“空格”,然后是文本直到“.”
基本上,我想要两个点之间的文本,因为这是论文的标题,在作者或出版物之后开始,括号中有年份,如示例中所述。但是上面的pattern
并没有给出我想要的
有人能帮我解释为什么它不起作用,还有什么其他方法可以在我的dataframe列中找到这样的文本
Tags:
您可以将以下正则表达式与
Series.str.extract
一起使用:见regex demo
详细信息
\)\.
-).
子串\s+
-1+空格([^.]+)
-第1组:点以外的一个或多个字符在熊猫中,你可以像这样使用它
根据评论更新
允许任何已知缩写的更具体的正则表达式是
见another regex demo。详情:
[\d)]
-数字或)
\.
-一个点\s*
-0个或多个空格((?:\ba\.k\.a\.|[^.])+)
-第1组:a.k.a.
子字符串作为一个整字或除点以外的任何字符出现一次或多次李>试试这个
(?<=\)\.)
是一种查找后面的搜索,用于检查“)”前面是否有)李>[\w\s\(\)]*
允许所有单词和空格字符以及(和)字符李>(?=\.)
是一个用于检查chracter的前瞻性搜索李>您可以测试它here
相关问题 更多 >
编程相关推荐