在字符串中查找未知的字符串

时间:2016-07-08 15:55:57

标签: python

这个问题看起来很相似,但寻找的东西与我前几天提出的问题完全不同。

我有一个已知的字符串,但它是代码的一部分,而且它有所不同,我目前通过使用它来找到它:

for num, line in enumerate(code, 1):
    if re.match("function (.*) {", line):

这让我了解了我需要的很多部分,因为我需要知道它开始的行号。我的问题从这里开始。我需要的只是我使用(。*)正则表达式的部分。

2 个答案:

答案 0 :(得分:2)

您的意思是()之间的文字?

使用捕获组:

m = re.match("function (.*) {", line):
if m:
  print m.group(1)

答案 1 :(得分:0)

返回的匹配对象对象包含组的所有内容。我会使用re.search,如果'function'并不总是在一行的开头,'。+'用于匹配至少有一个字符的函数。

line_to_fn = {}

for num, line in enumerate(code, 1):
    match = re.search("function (.+) {", line)
    if match:
        matches = match.groups()
        assert len(matches) == 1, repr(matches)
        line_to_fn[num] = matches[0]

# line_to_fn: {1: 'something', 5: 'something_else'}here