Python中文
首页
教程
问答
标签
搜索
登录
注册
python中的正则表达式在使用可选短语时遇到麻烦
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我需要一个小脚本,从给定的文本过滤参考文献。引用可以采用两种格式:</p> <p>布拉布拉布拉布拉布拉布拉(斯诺登,2014a)布拉布拉布拉布拉布拉布拉布拉布拉(布什和布莱尔,2005)布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉布拉。你知道吗</p> <p>通过两次搜索查找这些引用:</p> <pre><code>matches1 = re.findall('\([A-Z]\w*,\s?\d\d\d\d[a-z]?\)', line) matches2 = re.findall('\([A-Z]\w* and [A-Z]\w*,\s?\d\d\d\d[a-z]?\)', line) </code></pre> <p>这些搜索正确地找到(Snowden,2014a)resp。(布什和布莱尔,2005年)。但现在我想在一次搜索中找到这两种引用,但都失败了:</p> <pre><code>matches1 = re.findall('\([A-Z]\w*( and [A-Z]\w*)?,\s?\d\d\d\d[a-z]?\)', line) </code></pre> <p>此搜索返回“”而不是(Snowden,2014a)和“and Blair”而不是(Bush and Blair,2005)。我不清楚为什么会这样或者我做错了什么,所以非常感谢您的帮助:)</p> <p>谢谢!你知道吗</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>通过添加<code>?:</code>,使您的可选组不被捕获:</p> <pre><code>In [8]: re.findall('\([A-Z]\w*(?: and [A-Z]\w*)?,\s?\d\d\d\d[a-z]?\)', line) Out[8]: ['(Snowden, 2014a)', '(Bush and Blair, 2005)'] </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
3 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
9 回答
无法使用Django+nginx上载媒体文件
1 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
6 回答
无法使用Djangockedi验证CBV中的字段
5 回答
无法使用Djangocketditor上载图像(错误400)
7 回答
无法使用Djangocron进行函数调用
10 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
7 回答
无法使用Djangomssql provid
3 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
1 回答
无法使用Djangomssq迁移Django数据库
7 回答
无法使用Djangonox创建用户
10 回答
无法使用Djangopyodb从Django查询SQL Server
6 回答
无法使用Djangopython3ldap连接到ldap
3 回答
无法使用Djangoredis连接到redis
6 回答
无法使用Django中的FK创建新表
8 回答