正则表达式如何用另一个字符串替换部分字符串

时间:2013-09-30 10:30:40

标签: java javascript regex notepad++

我需要用其他字符串替换部分文本。

示例:

{abc,bcd},{ def,ghi}

我想将abcdef替换为x:abcx:def

我想替换开口大括号中的第一个值。 但我不知道我会得到什么价值。

所以为了替换我需要在开口大括号后识别字母,我能够通过使用这种模式来识别/\{.*?\,/

但我现在不知道如何用文本替换匹配的字符串。我该怎么做?

答案无需与记事本++相关。您可以使用任何语言来解释如何操作。

2 个答案:

答案 0 :(得分:1)

你甚至不需要正则表达式。

查找

{

将其替换为:

{"x":

在终端测试时,sed使用BRE,因此{没有特殊含义。

kent$ echo "{abc,bcd},{ def,ghi}"|sed 's/{/{"x":/g'
{"x":abc,bcd},{"x": def,ghi}

答案 1 :(得分:1)

在Notepad ++中,添加双引号arround abc或def:

搜索内容:\{\s*(\w+)
替换为:{x:"$1"

这会将{abc,bcd},{ def,ghi}更改为{x:"abc",bcd},{x:"def",ghi}

或者,如果它可以是任何字符,而是括号后面的逗号:

搜索内容:\{([^,]+)
替换为:{x:"$1"