我正在学习如何在Python中使用re
库,这个问题浮现在脑海。如果这听起来很愚蠢,请原谅我。我是这个新手。 :)
自this answer起,
re.search
-在字符串中的任意位置查找内容re.match
-在字符串的开头找到一些内容现在我有了以下代码:
from re import search
str = "Yay, I am on StackOverflow. I am overjoyed!"
if search('am',str): # not considering regex
print('True') # returns True
if 'am' in str:
print('True') # returns True
这:
from re import match
str = "Yay, I am on Stack Overflow. I am overjoyed!"
if match('Yay',str): # not considering regex
print('True') # prints True
if str.startswith('Yay'):
print('True') # prints True
所以现在我的问题是,当我做类似的事情(不考虑正则表达式)(例如从网页中获取内容并查找其内容)时,应该使用哪一个。我应该使用上述内置函数还是标准re
库?哪一个可以使代码更优化/更高效?
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
正则表达式通常用于复杂的匹配,搜索和替换操作,而诸如“ in”之类的内置关键字通常用于简单的操作,例如用一个单词替换另一个单词。通常,首选“ in”关键字。在性能方面,“ in”关键字的使用速度更快,但是当您遇到可以使用“ in”关键字的情况时,Regex提供了更为优雅的解决方案,而不是使用Regex键入很多“ if”语句。
当您从网页上获取内容并在内容中找到内容时,上述编解码器也适用。
希望这会有所帮助。