问题标签 [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.
sql - 正则表达式匹配可选标签(方括号)...(在 SQL 查询中查找和替换,Notepad++)
我正在尝试构建一个正则表达式,它将在 100 多个 SQL 文件中查找和替换某些 SQL 模式限定的出现。
原始文件可以包含可以(可选)有方括号('['
和']'
)或没有的模式限定。例如,一个脚本文件可能包含:
或者
或者
以及所有可能的组合...
我写了这样的东西:
不是真的工作(正则表达式101)
更新(基于答案的解决方案):
基于@Toto 在下面选择的答案进行扩展,添加可能的表别名以匹配以下字符串并提供空格前缀和后缀
regex - RegEx Notepad++:使用查找替换为 XML 属性值添加引号
我有一个 XML 文件,属性值没有双引号。以下是一个示例。如您所见,这些是可能的值,我尝试使用正则表达式 *=\s*([^" >]+)
并替换="\1"
它,但它有两个问题。
任何有关这些的帮助将不胜感激。
- 它不会用双引号(“”)替换空值(例如状态)。
- 仅当值有句子时才替换第一个单词。例如(描述)
样本输入:
预期结果:
regex - 在 Visual Studio 中,是否可以在进行正则表达式查找和替换时指定对象类型?
在 Visual Studio 中,是否可以在进行正则表达式查找和替换时指定对象类型?我正在尝试在 Visual Studio 中进行查找和替换,但我只想对特定对象类型的对象执行此操作(我只想对字符串执行此操作,而不是任何其他对象类型)。
这是我的正则表达式查询:
- 寻找:
(Me\.(?:(?!.*Exclude).*?)) Is Nothing[^"]
- 代替:
String.IsNullOrWhiteSpace($1)
如果此功能未内置到 Visual Studio 中,是否有扩展或其他我可以用来执行此操作的东西?
php - 如何使用正则表达式替换 PHP 中的重复标点符号?
比方说,我有这个
我怎样才能做到这一点?我试过preg_replace_callback
但没有运气。我使用查找字符串中最短的重复模式作为起点,但它适用于完整的句子,我需要它逐字处理 + 我只需要删除重复计算(模式)?实时代码
bash - 用 grep | 查找并替换带引号的字符串 sed
我需要在文本文件中删除所有引号,这些引号始终以相同的开头,但以不同的方式结束:
但不应更改不以此开头的引号字符串。
我一直在使用 grep 来查找并打印带引号的字符串:
现在我需要通过管道将结果传递给 sed,但它不起作用:
我一直在尝试其他选项("s/\'$\'/$/g"
, "s/'\\$'/\\$/g"
,...)并在谷歌上搜索了很多,但没有办法。
您能否指出从 sed 管道中获取结果的正确方法?
powershell - 在文本文件中查找一个数字并使用命令行更改其行数据的符号
我正在学习批处理脚本,我遇到的第一个任务是一个文本文件,它有超过 1000 行,是这样的:
我需要帮助编写一个批处理文件,该文件应该找到一个特定的acct no.
(例如:)3456
并在前面放一个' -
'data1, data2,data3,data4
我试过:1)使用批处理命令:
2)VBS:
vim - 在 Vim 中,我如何有效地搜索并用普通双引号替换“和”?
我从教程中得到了这个代码片段,我想用普通的双引号“搜索和替换所有出现的“和”。我怎样才能在 Vim 中有效地做到这一点?
谢谢你。
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 文件。
批处理文件
我的批处理文件执行以下操作:
创建一个用于备份和工作的目录
/li>将注册表项导出到 .reg 文件(以及单独的 .txt 以供参考)以实际操作文件内容:
/li>调用 .vbs 脚本
我也试过
/li>将新的 .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 ...并且它可以工作。我对此感到很困惑。我无法想象发生了什么。拜托,我希望其他人可以帮助我。谢谢。
regex - 崇高文本正则表达式查找/替换不识别正则表达式
我必须在许多具有名称的文件中查找/替换大量输入,这些文件要么是必需的,要么具有 minlength/maxlength 或 ng-pattern 属性。
我做了这个正则表达式:
我在 regex101.com 上测试了这个正则表达式(虽然是一个 js 正则表达式)并且它有效。Sublime 的正则表达式语法可能与 javascript 略有不同,但我最近一直在使用正则表达式查找/替换,这是它第一次不起作用。
我很确定是这些部分有问题:
任何帮助,将不胜感激。
regex - 使用 bash 更改文本文件中的日期格式
我有一个文本文件,其中包含 MM/DD/YYYY 格式的数千个随机日期。我需要将所有这些日期转换为 YY/MM/DD。使用 bash 最快和最简单的方法是什么?请注意,我们需要搜索日期,因为该文件还包含其他文本内容。