正则表达式查找并替换Notepad ++

时间:2013-03-31 13:41:56

标签: regex notepad++

我的文字如下:

<p class="field">[text text1 "text2"] </p>

我想获得text1和text2并在下面的文本中替换它们

<p>[text text1 text2] <br/></p>

我该怎么做?

2 个答案:

答案 0 :(得分:5)

未经测试,但我认为应该这样做。

我假设完全格式化,任何地方都没有更多或更少空间的空间。 texttext1text2可以是任何内容。

替换:

<p class="field">\[([^ ]+) ([^ ]+) "([^"]+)"\] </p>

使用:

<p>\[\1 \2 \3\] <br/></p>

<强>解释

您可能需要考虑将替换为\s(空格)中的空格字符替换为更通用的解决方案。

\[\] - 转发[]
[^ ] - 不是空格
[^ ]+ - 一个或多个不是空格的字符 [^"] - 不是" [^"]+ - 一个或多个不是"的字符 \1 - 给出与括号中的第一个对应的字符串(即([^ ]+)
\2 - 给出与括号中的第二个对应的字符串(即([^ ]+)
\3 - 给出与括号中的第三个对应的字符串(即([^"]+)

答案 1 :(得分:1)

搜索<p class="field">\[(\S+ \S+) "(\S+)"\] </p>,然后替换为<p>[\1 \2] <br/></p>