python - 哪个更高效?长字符串或列表上的正则表达式

标签 python regex

我正在使用正则表达式查找匹配项。在长字符串或分解成列表的相同字符串上使用它更有效吗?

例如

mystring = "asdfl;jkasdfj;ldj;lj;dlskjfasdfjkl; ;lj ;lf ak;lkjf al;kjdlkjsdl;fkja;dlkjf a;lsdf"

mylist = ["asdfl;jkasdfj;ldj;lj;dlskjfasdfjkl;",";lj", ";lf ak;lkjf","al;kjdlkjsdl;fkja;dlkjf a;lsdf"] 

最佳答案

根据 re 模块的编写方式,更简单、更有效的方法是在字符串上使用正则表达式。这并不是绝对更快,但效率更高,因为它更容易编码、更容易维护,并且可以更好地利用 Python 的内置电池。

re 针对长字符串而非列表进行了优化。如果您要对该字符串列表使用正则表达式,您最终会调用 re 中的函数。

基本规则,除非必要,否则不要进行优化,因为现有的优化方式太慢了。

关于python - 哪个更高效?长字符串或列表上的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4292694/

相关文章:

python获取文件名并在另一个脚本中打开

python - 在嵌套类中使用 super()

Python:从网页中抓取视频(在 HTML 中不可见)

Python 正则表达式模式/函数不从我的数据字符串中检索数据

根据重叠模式删除部分字符串

python - 如何使用 python 将 unicode 元组列表转换为 utf-8

python - 如何通过python3改变xml中元素属性的值

python - 使用 python 正则表达式避免引号内的模式

c# - 如何在 C# 中替换字符串的一部分?

正则表达式匹配多个负前瞻