我正在搜索一個模式,然后如果我找到該模式(在一個檔案中可能有多個),那么我想向后迭代并捕獲另一個模式,并挑選第一個實體。
例如,如果檔案的內容如下:
SetSearchExpr("this is the Search Spec 1")。
...
ExecuteQuery (ForwardOnly);
var Rec2=FirstRecord();
if(Rec2!=null)。
{
然后是預期的輸出。 ExecuteQuery Search Spec = "這是Search Spec 1"
。我想出了以下方法來檢查ExecuteQuery是否存在,但無法得到回溯迭代的邏輯,我的代碼如下:
我想出了以下方法來檢查ExecuteQuery是否存在。
import sys
import os
file = open("Sample_code.txt"/span>, 'r')
for line in file:
if "ExecuteQuery (" in行。
#if found then check previous lines for another pattern
如果有誰能幫我指點迷津,那將會有很大的幫助。
uj5u.com熱心網友回復:
不需要往回走。只要將SetSearchExpr()行保存在一個變數中,當你找到ExecuteQuery()時使用該變數即可。
for line in file:
if 'SetSearchExpr(' in行。
search_line = line
elif 'ExecuteQuery('/span> in line:
m = re.match(r'SetSearchExpr((".*"))'/span>, search_line)
search_spec = m.group(1)
print(f'ExecuteQuery Search Spec = {search_spec}'/span>)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/314868.html
標籤:
