为什么这个" re.findall"函数,它使用后向引用,不起作用?

时间:2017-12-15 18:04:35

标签: python regex python-3.x

    $login_find_query = "select p_id from login_tbl where user_name='$userid' and password='$encrypt_pass'";
    $login_find_result = mysqli_query($connect,$login_find_query);
    $login_find_num_rows = mysqli_num_rows($login_find_result);

唯一返回的是一个"我"。 我已经搜索了几个小时没有找到解决这个问题的方法。

更新:我希望能够回归"我说是我"。

2 个答案:

答案 0 :(得分:1)

(...)中使用括号regex时,只捕获其中的内容,因此在您的情况下,只找到"i"s

答案 1 :(得分:1)

这就是findall的工作方式,如果它们存在,它会打印捕获组。

您可以使用re.search

>>> print re.search(r'(i).*\1', "i am says i am").group(0)
i am says i

或者在findall中使用其他分组:

>>> print re.findall(r'((i).*\2)', "i am says i am")[0][0]
i am says i