问题标签 [find-replace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
705 浏览

sql - 正则表达式匹配可选标签(方括号)...(在 SQL 查询中查找和替换,Notepad++)

我正在尝试构建一个正则表达式,它将在 100 多个 SQL 文件中查找和替换某些 SQL 模式限定的出现。

原始文件可以包含可以(可选)有方括号('['']')或没有的模式限定。例如,一个脚本文件可能包含:

或者

或者

以及所有可能的组合...

我写了这样的东西:

不是真的工作(正则表达式101)

更新(基于答案的解决方案):

基于@Toto 在下面选择的答案进行扩展,添加可能的表别名以匹配以下字符串并提供空格前缀和后缀

https://regex101.com/r/Rz9MLB/7

0 投票
1 回答
559 浏览

regex - RegEx Notepad++:使用查找替换为 XML 属性值添加引号

我有一个 XML 文件,属性值没有双引号。以下是一个示例。如您所见,这些是可能的值,我尝试使用正则表达式 *=\s*([^" >]+)并替换="\1"它,但它有两个问题。
任何有关这些的帮助将不胜感激。

  1. 它不会用双引号(“”)替换空值(例如状态)。
  2. 仅当值有句子时才替换第一个单词。例如(描述)

样本输入:

预期结果:

0 投票
1 回答
23 浏览

regex - 在 Visual Studio 中,是否可以在进行正则表达式查找和替换时指定对象类型?

在 Visual Studio 中,是否可以在进行正则表达式查找和替换时指定对象类型?我正在尝试在 Visual Studio 中进行查找和替换,但我只想对特定对象类型的对象执行此操作(我只想对字符串执行此操作,而不是任何其他对象类型)。

这是我的正则表达式查询:

  • 寻找:(Me\.(?:(?!.*Exclude).*?)) Is Nothing[^"]
  • 代替:String.IsNullOrWhiteSpace($1)

如果此功能未内置到 Visual Studio 中,是否有扩展或其他我可以用来执行此操作的东西?

0 投票
2 回答
67 浏览

php - 如何使用正则表达式替换 PHP 中的重复标点符号?

比方说,我有这个

我怎样才能做到这一点?我试过preg_replace_callback但没有运气。我使用查找字符串中最短的重复模式作为起点,但它适用于完整的句子,我需要它逐字处理 + 我只需要删除重复计算(模式)?实时代码

0 投票
1 回答
42 浏览

bash - 用 grep | 查找并替换带引号的字符串 sed

我需要在文本文件中删除所有引号,这些引号始终以相同的开头,但以不同的方式结束:

但不应更改不以此开头的引号字符串。

我一直在使用 grep 来查找并打印带引号的字符串:

现在我需要通过管道将结果传递给 sed,但它不起作用:

我一直在尝试其他选项("s/\'$\'/$/g", "s/'\\$'/\\$/g",...)并在谷歌上搜索了很多,但没有办法。

您能否指出从 sed 管道中获取结果的正确方法?

0 投票
4 回答
232 浏览

powershell - 在文本文件中查找一个数字并使用命令行更改其行数据的符号

我正在学习批处理脚本,我遇到的第一个任务是一个文本文件,它有超过 1000 行,是这样的:

我需要帮助编写一个批处理文件,该文件应该找到一个特定的acct no.(例如:)3456并在前面放一个' -'data1, data2,data3,data4

我试过:1)使用批处理命令:

2)VBS:

0 投票
4 回答
3580 浏览

vim - 在 Vim 中,我如何有效地搜索并用普通双引号替换“和”?

我从教程中得到了这个代码片段,我想用普通的双引号“搜索和替换所有出现的“和”。我怎样才能在 Vim 中有效地做到这一点?

谢谢你。

0 投票
1 回答
470 浏览

windows - 查找/替换 - 从批处理文件调用时不起作用。好的,如果独立运行

我有一个问题是基于这里提出的以前的问题。

我需要更改多台计算机上的注册表项条目,其中所述注册表项的 REG GUID 在每台计算机上都不同。我发现我可以将 regkey 提取到 .reg 或 .txt 文件中,找到“Device_State”值,然后使用类似于我上面引用的链接中的 .vbs 脚本将它们替换为我想要的值。

我不能为此使用任何第 3 方解决方案。它本质上必须是 Windows 的有机物(Windows 7 和 Windows 10 目前是我的环境)。

问题

当我将 .reg 文件放在目录中并运行(双击).vbs 脚本(从同一目录)时,我的 Test.vbs 脚本似乎可以工作。

该脚本查找并替换我想要的字符串并将其全部写回 .reg 文件(在本例中为“replace.reg”)。但是,当我从批处理文件中调用它时,.vbs 脚本会返回错误:

行:15 字符:1 错误:无效的过程调用或参数
代码:800A0005 源:Microsoft VBScrpt 运行时错误

我的代码中的第 15、1 行是:objFile.Write strNewText.

当我检查 .reg 以查看发生了什么变化时,该文件现在是空白的。似乎脚本正在将文件的内容读入strText变量,查找我的值,替换值,然后出错并且不写回 .reg 文件。

批处理文件

我的批处理文件执行以下操作:

  1. 创建一个用于备份和工作的目录

    /li>
  2. 将注册表项导出到 .reg 文件(以及单独的 .txt 以供参考)以实际操作文件内容:

    /li>
  3. 调用 .vbs 脚本

    我也试过

    /li>
  4. 将新的 .reg 导入注册表(这是计划;还没有走到这一步)。

    /li>

VBScript

Test.vbs 脚本如下:

因此,再次重申,当我独立运行 VBScript 时,它完全符合我的要求。但是当我从批处理文件中调用它时,它会“清除”(或无法写入)我需要更改的文件。

我以本地系统管理员的身份运行它,对相关文件拥有完全权限。

我从提升的 CMD 提示符/窗口运行它。

问题

有谁知道为什么这会独立于批处理文件工作,但在被批处理文件调用时不起作用?我认为它必须与在“内部”批处理例程中打开/关闭文件以进行读/写的权限或权限有关。我只是不够了解,无法弄清楚。

***************************** 更新 ******************** ******************

我进一步缩小了范围,这就是我的发现: -
1)我运行我的批处理文件,该文件创建了我需要编辑的注册表项的备份。批处理文件创建相同注册表项的 .reg 文件和 .txt 文件(这只是为了我自己的安全性同时拥有两者)。我还授予每个人、用户、管理员对此文件夹/文件的完全权限

2) 然后我运行查找/替换文本 vbScript。它在“objFile.Write strNewText”行出错。当它出错时,它似乎会清除 .reg 文件的内容。

3)我发现如果我将 .txt 文件中的所有内容(完全相同的文本)粘贴到 .reg 文件中(在 vbscript 错误之后)然后运行我的脚本,它就可以工作。

我尝试手动删除 .reg 内容并将其替换为 .txt 内容并尝试运行脚本,但它以同样的方式出错,并且似乎再次清除了 .reg 文件的内容。只有在写入文件时出现 VBSCRIPT 错误后,似乎清除了内容,我才能将 .txt 文件的内容粘贴到 .reg 文件中并运行 VBScript ...并且它可以工作。我对此感到很困惑。我无法想象发生了什么。拜托,我希望其他人可以帮助我。谢谢。

0 投票
1 回答
242 浏览

regex - 崇高文本正则表达式查找/替换不识别正则表达式

我必须在许多具有名称的文件中查找/替换大量输入,这些文件要么是必需的,要么具有 minlength/maxlength 或 ng-pattern 属性。

我做了这个正则表达式:

我在 regex101.com 上测试了这个正则表达式(虽然是一个 js 正则表达式)并且它有效。Sublime 的正则表达式语法可能与 javascript 略有不同,但我最近一直在使用正则表达式查找/替换,这是它第一次不起作用。

我很确定是这些部分有问题:

任何帮助,将不胜感激。

0 投票
2 回答
365 浏览

regex - 使用 bash 更改文本文件中的日期格式

我有一个文本文件,其中包含 MM/DD/YYYY 格式的数千个随机日期。我需要将所有这些日期转换为 YY/MM/DD。使用 bash 最快和最简单的方法是什么?请注意,我们需要搜索日期,因为该文件还包含其他文本内容。