我是相当新的正则表达式,因此这可能是你见过在计算器上:-)搜索和替换冒号(:)双引号之间使用正则表达式
我有一个大的JSON文件与简单的问题文字是这样的:
{..., "text": "BLAH BLAH", ...}
文本可能包含任何特殊字符,也字符,如\"
,我明白的可以看作是正则表达式中的转义字符。我试图找到并替换单个字符冒号:
与代字号~
内的部分跟着"text"
最好在Notepad ++。任何帮助将不胜感激。
我是相当新的正则表达式,因此这可能是你见过在计算器上:-)搜索和替换冒号(:)双引号之间使用正则表达式
我有一个大的JSON文件与简单的问题文字是这样的:
{..., "text": "BLAH BLAH", ...}
文本可能包含任何特殊字符,也字符,如\"
,我明白的可以看作是正则表达式中的转义字符。我试图找到并替换单个字符冒号:
与代字号~
内的部分跟着"text"
最好在Notepad ++。任何帮助将不胜感激。
这个正则表达式将找到名为text
的字段值中的所有:
,并用~
替换字符。请注意,使用Notepad ++ v5正则表达式存在问题。我在这里演示在记事本测试++ v6.3.3
正则表达式:与("text":\s"[^"]*?):
替换:$1~
输入字符串:{"not text": "12:34", "text": "BLAH:BLAH", "Never get a": ":oskupee"}
这里是我做过什么(所有帮助@Mike感谢,但我不得不作出许多修改。这就是为什么我回答我的问题,以便其他用户可以得到完整的答案)
\"text\": \".*? : .*?\",
查找和替换\1~\2
全部更换:
与~
在记事本++中给定文本'{“text”:“BLAH:BLAH”,“Never get a”:“:oskupee”,“not text”:“12:34”},这个表达式产生'{〜永远不会得到一个“:”:oskupee“,”不是文本“:”12:34“}' –
也在记事本++给定文本'{”文本“:”BLAH:BLAH“,”永远不会得到“:”:oskupee“ ,“not text”:“12:34”}',这个表达式产生'{〜“not text”:“12:34”}' –
你可以这样做:
find: ("(?:[^"]+|(?<=\\)")*")\s*:
replace: $1~
这个想法是捕获双引号内的内容,将其放入替换内容中。
我使用lookbehind来允许双引号内的转义双引号。
这是否适用于''text“:”我有一个:“说”关于某事,在下午6点很重要“' –
对不起,我们能做的最好的表达就是这样的'(”text“:\ s”(?:(?!“} |”,\ s “\ w +”:\ s“)。)*):'你需要多次运行,直到记事本报告没有更多的更改。不幸的是,这种表达方式超出了记事本的范围,因为它不支持表达式中的某些内容。一般来说,这个表达式可以工作http://regexr.com?35b69。 –