如何通过跳过空格来搜索以"xyz"开头的行? 原始字符串是 "xyz" 通过使用 line.startswith((
str.startswith
不跳过空格。 您可以使用像r"^s*xyz"
这样的正则表达式 (RE(,但由于加载和运行 RE 引擎的开销,这不值得。您不妨创建一个没有前导空格的临时字符串对象。 它不必命名,而是像这样使用:
original.lstrip().startswith('xyz')
临时字符串对象将立即成为垃圾回收的候选项。
您可以使用正则表达式搜索以"xyz"开头的行,即使它们在"xyz"之前可能有也可能没有空格,方法是使用 -^s*xyz
^
- 查找行的开头
s*
- 匹配 0 - 任意数量的空格字符
xyz
- 您有兴趣匹配的术语。
要获得整行,您可以使用^s*xyz.*?$
来匹配整行
这里.*?
是对任何字符的非贪婪搜索,而$
是行的尽头