我的文字如下:
<p class="field">[text text1 "text2"] </p>
我想获得text1和text2并在下面的文本中替换它们
<p>[text text1 text2] <br/></p>
我该怎么做?
答案 0 :(得分:5)
未经测试,但我认为应该这样做。
我假设完全格式化,任何地方都没有更多或更少空间的空间。 text
,text1
和text2
可以是任何内容。
替换:
<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>