使用 Regex 查找关键字之前首次出现的字符

Find first occurrence of a character before a keyword with Regex

我正在尝试提取关键字前每个首次出现的字符。 在下面的字符串中,想法是只为包含单词“Change”的行提取“>”的位置,并且应该匹配最后 3 行的 3 个“>”。

<th class="col_heading level0 col5" >Thing</th>
<th class="col_heading level0 col6" >Second Thing</th>
<th class="col_heading level0 col7" >Third Thing</th>

<th class="col_heading level0 col5" >Thing Change</th>
<th class="col_heading level0 col6" >Second Thing Change</th>
<th class="col_heading level0 col7" >Third Thing Change</th>

我有一个答案的开始,使用相似的运算符,我目前能够将文本从“>”提取到“更改”关键字,但我只能提取“>”正确

([^"]*(?=Change))

使用

>(?=.*?Change)

参见regex proof

解释

--------------------------------------------------------------------------------
  >                        '>'
--------------------------------------------------------------------------------
  (?=                      look ahead to see if there is:
--------------------------------------------------------------------------------
    .*?                      any character except \n (0 or more times
                             (matching the least amount possible))
--------------------------------------------------------------------------------
    Change                   'Change'
--------------------------------------------------------------------------------
  )                        end of look-ahead