我对正则表达式相当新,因此这可能是您在StackOverflow上看到的最简单的问题: - )
我有一个大型的JSON文件,其文本如下:
{..., "text": "BLAH BLAH", ...}
文本可能包含任何特殊字符以及\"
之类的字符,我理解这些字符可以被视为正则表达式中的转义字符。我试图找到并替换单个字符冒号:
,其中部分为~
,后跟"text"
,最好是在Notepad ++中。任何帮助将不胜感激。
答案 0 :(得分:0)
这就是我的所作所为(感谢所有帮助@Mike,但我必须做很多编辑。这就是我回答我自己的问题所以其他用户可以得到完整答案的原因)
\"text\": \".*? : .*?\",
\1~\2
,将所有:
替换为~
答案 1 :(得分:0)
此正则表达式将在名为:
的字段的值中找到所有text
,并将该字符替换为~
。请注意,使用Notepad ++ v5的正则表达式存在问题。我的演示在Notepad ++ v6.3.3
正则表达式:("text":\s"[^"]*?):
替换为:$1~
输入字符串:{"not text": "12:34", "text": "BLAH:BLAH", "Never get a": ":oskupee"}
答案 2 :(得分:0)
你可以这样做:
find: ("(?:[^"]+|(?<=\\)")*")\s*:
replace: $1~
这个想法是捕获双引号内的内容,将其置于替换中。
我使用lookbehind来允许双引号内的双引号转义。