gpt4 book ai didi

正则表达式:替换已知固定字符串以外的任何字符串? (用引号分隔)

转载 作者:行者123 更新时间:2023-12-03 07:57:51 25 4
gpt4 key购买 nike

我正在尝试匹配和替换以下形式的字符串

mystring = "字符串文本"

mystring = "XYZ 字符串文本"

当且仅当字符串文本不等于red。例如

original-text             replacement
------------- -----------
mystring = "red" mystring = "red"
mystring = "green" mystring = "XYZ green"
mystring = "blue" mystring = "XYZ blue"
mystring = "reds" mystring = "XYZ reds"
mystring = "_red" mystring = "XYZ _red"
mystring = "1ed" mystring = "XYZ 1ed"
mystring = "ree" mystring = "XYZ ree"
mystring = "" mystring = "XYZ "
mystring = "12345678" mystring = "XYZ 12345678"

mystring = "red" 保持不变,所有其他内容均按照描述进行替换。是否存在正则表达式来实现此目的?

我能做到的最好的是

^mystring = "(?!red)(.*)"$

捕获组(.*)允许用mystring = "XYZ\1"打印替换。这在大多数情况下都有效,但对于测试用例 mystring = "reds"

失败

最佳答案

您可以在前瞻中包含 ",并在替换中使用 mystring = "XYZ\1 包括匹配最后一个 "

^mystring = "(?!red")(.*")$

Regex demo

或者使用 2 个捕获组

^(mystring = ")(?!red")(.*")$

并替换为\1XYZ\2


请注意,如果您使用 C#,捕获组表示法为 $1 而不是 \1

查看C# demo与替换。

关于正则表达式:替换已知固定字符串以外的任何字符串? (用引号分隔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75597524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com