gpt4 book ai didi

regex - 使用正则表达式查找不在两个字符之间的文本

转载 作者:行者123 更新时间:2023-12-04 10:18:16 27 4
gpt4 key购买 nike

我有一个单词字符串,其中每个单词由换行符分隔。我已经使用 RegEx 替换来插入 ' { ' 和 ' } ' 常见前缀和后缀周围的字符。结果如下所示:

{con}descens{ion}
lumberjack
tim{ing}
{tox}{icity}
fish
{dis}pel

我想弄清楚的是如何在这个字符串上执行一个 RegEx 替换,它只会匹配文本 不是 ' 之间{ ' 和 ' } ' 人物。我有进一步的替换,每次我做的时候,我都会放置' { ' 和 ' } ' 匹配项周围的字符;我只是不想在执行新替换时匹配以前的替换(或其中的部分)。例如,我知道如何匹配“not '{'”,但我不知道如何匹配“not between '{' and '}'”

从正确的角度来看,这里的下一个替换操作示例是替换所有的“ ”。 ' 字符与 ' 7 ' 人物。在这种情况下,字符串的第一行“{con}descens{ion}”应该变成“{con}desce{7}s{ion}”而不是“{co{7}}desce{7}s {io{7}}";根据这些标准,其他词将保持不变。

有什么建议?

最佳答案

假设你的花括号总是平衡的,你可以在这里使用负前瞻。

[a-zA-Z]+(?![^{]*\})

注:这仅匹配 A 的字符至 Z范围,如果单词将包含空格,或者您有其他需要允许或不确定输入类型的字符,您可以在此处使用否定匹配。
[^}]+(?![^{]*\})

Live demo

关于regex - 使用正则表达式查找不在两个字符之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23948557/

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