使用正则表达式搜索多个值

Searching for multuple valeus using REGEX

我有一个很大的零星 sql 脚本,需要在其中查找并替换一些值。我试图将我在 REGEX 中的值传递给 Notepad++,但我似乎无法让它工作。更具体地说,我有大约 50 个脚本,每个脚本有 5000 行,我需要查找一个值列表,例如“[dbo].[livesales]” “[dbo].[CreditCards]” 分别在我的所有脚本中。我明白我需要针对每个脚本分别 运行 或将它们全部合并到一个文件中,但我需要正确的 REGEX 命令。我还需要包括方括号和点。我最终构建了这个,但它对我不起作用:

^(?=.*\b[dbo].[LiveSales]\b)(?=.*\b[dbo].[CreditCards]\b).+$

enter image description here 提前致谢,

我不会费心使用单词边界,因为 SQL 服务器中的方括号对于数据库对象名称(例如数据库和列名称)来说非常普遍。我建议采用以下模式:

\[dbo\]\.\[(?:LiveSales|CreditCards)\]

Demo

我所做的主要更改包括不使用单词边界、转义 [] 括号(因为方括号是具有特殊含义的正则表达式元字符),并且也没有尝试匹配整个输入。大概您想找到所有此类事件,因此不要费心尝试使用 ^$.

来确定您的模式范围