Python中文
首页
教程
问答
标签
搜索
登录
注册
我应该重用已编译的正则表达式吗?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这是一个简单的问题:</p> <p>如何指定一个正则表达式,它可以多次用于多个匹配字符串?我可能用词不对,但我会试着展示一些代码。在</p> <p>我有这个正则表达式:</p> <pre><code>regex = compile(r'(?=(%s))') </code></pre> <p>在for循环中,我将尝试将必须匹配的字符串与我为正则表达式指定的字符串匹配,以便在每次迭代时,我都可以更改匹配的字符串,它将尝试匹配它。在</p> <p>这有可能吗,我能做点什么吗</p> ^{pr2}$ <p>在代码中,还是必须重新编译正则表达式才能匹配新字符串?在</p> <p>更多说明: 我想这样做:</p> <pre><code>re.findall('(?=(%s))' %myMatchString, mySearchString) </code></pre> <p>但由于myMatchString在循环的每次迭代中都会发生变化,所以我希望这样做,以便能够匹配新字符串:</p> <pre><code>regex = re.compile(r'(?=(%s))') regex.findall( myMatchString, mySearchString) </code></pre> <p>谢谢你的阅读</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p><code>re.compile</code>的重点是明确声明您将一次又一次地重复使用同一模式,并希望避免任何可能需要的编译。在</p> <p>因为您所做的是<em>而不是</em>必须使用相同的模式,那么您最好让<code>re</code>系统缓存模式(它缓存<code>n</code>多个-但记不清具体有多少个),每次只需重新使用<code>re.findall(...)</code>/任何正则表达式。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
6 回答
无法使用Django\u mssql\u后端迁移到外部hos
4 回答
无法使用Django&Python3.4连接到MySql
7 回答
无法使用Django+nginx上载媒体文件
9 回答
无法使用Django1.6导入名称模式
7 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
9 回答
无法使用Djangockedi验证CBV中的字段
5 回答
无法使用Djangocketditor上载图像(错误400)
2 回答
无法使用Djangocron进行函数调用
5 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
8 回答
无法使用Djangomssql provid
9 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
7 回答
无法使用Djangomssq迁移Django数据库
9 回答
无法使用Djangonox创建用户
2 回答
无法使用Djangopyodb从Django查询SQL Server
8 回答
无法使用Djangopython3ldap连接到ldap
4 回答
无法使用Djangoredis连接到redis
1 回答
无法使用Django中的FK创建新表
6 回答