用于查找和替换的正则表达式帮助

Regex help for find and replace

我在记事本中有一个文件,例如:

*Given* I get an user ID from XXX
*And* I set header "Authorization" with value "invalid_token"
*When* I send a POST request to api/endpoint/"documentlibraryID"/"identity_id"/root/"new_name"
*Then* the response code should be 401
*And* the response should contain "Invalid authorization token"

*Given* I get an user ID from XXX
*And* I set header "Authorization" with value "YYY"
*When* I send a POST request to api/endpoint/"documentlibraryID"/"identity_id"/root/"new_name"
*Then* the response code should be 200
*And* the response should contain "new_name"

*Given* I get an user ID from "XXX"
*And* I set header "Authorization" with value "YYY"
*When* I send a POST request to api/endpoint/"documentlibraryID"/"identity_id"/root/"folder_name"?automaticRename=true
*Then* the response code should be 200
*And* the response should contain "folder_name 1"

我需要做的:在每个单词api之前,我需要插入{code:none}和在行尾插入 {code}。示例:

api/endpoint/"documentlibraryID"/"identity_id"/root/"folder_name"?automaticRename=true

将是:

{code:none}api/endpoint/"documentlibraryID"/"identity_id"/root/"folder_name"?automaticRename=true{code}

第一部分很简单,我只是将 api 替换为 {code:none}api 在 Notepad++ 中。最后一部分是我的问题。并非所有行都以相同的文本结尾......所以我需要找到一个正则表达式,它会在每一行的末尾插入 {code} 它找到单词 api 某个地方,或其他一些方法...不确定这是否清楚,我可以尝试更好地解释,感谢您的帮助!

使用记事本++:

  1. 按 Ctrl+H

  2. 在 "Find what" 中,键入 (.*)api(.*)\r

  3. 在"Replace with"中输入api{code}\r

  4. 勾选“搜索模式>正则表达式

  5. 命中"Replace All"

  • Ctrl+H
  • 查找内容:\bapi\b.*$
  • 替换为:{code:none}[=14=]{code}
  • 全部替换

解释:

\bapi\b : api not preceeded or followed by word character
.*      : 0 or more any character
$       : end of line
  • 不勾选. matches newline

替换:

{code:none} : literally
[=11=]          : the whole match
{code}      : literally

给定示例的结果:

*Given* I get an user ID from XXX
*And* I set header "Authorization" with value "invalid_token"
*When* I send a POST request to {code:none}api/endpoint/"documentlibraryID"/"identity_id"/root/"new_name"{code}
*Then* the response code should be 401
*And* the response should contain "Invalid authorization token"

*Given* I get an user ID from XXX
*And* I set header "Authorization" with value "YYY"
*When* I send a POST request to {code:none}api/endpoint/"documentlibraryID"/"identity_id"/root/"new_name"{code}
*Then* the response code should be 200
*And* the response should contain "new_name"

*Given* I get an user ID from "XXX"
*And* I set header "Authorization" with value "YYY"
*When* I send a POST request to {code:none}api/endpoint/"documentlibraryID"/"identity_id"/root/"folder_name"?automaticRename=true{code}
*Then* the response code should be 200
*And* the response should contain "folder_name 1"