使用 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
我正在尝试提取关键字前每个首次出现的字符。 在下面的字符串中,想法是只为包含单词“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