我正在尝试在记事本++中编写一个正则表达式,它获取两个标签之间包含的所有空格并用逗号替换它们。
基本上,如果我有这个输入:
<foo>bar bar bar</foo>
<tag>bar bar bar</tag>
我想仅替换 foo 标签内的空格以获得结果:
<foo>bar,bar,bar</foo>
<tag>bar bar bar</tag>
匹配 foo 之间的所有内容相当简单:
(?<=(<foo>))(.*)(?=(<\/foo>))
但搜索 \s 不起作用:
(?<=(<foo>))(\s)(?=(<\/foo>))
由于您想要替换没有子标签或相同嵌套标签的标签内的空格,因此您可以使用
(?:\G(?!^)|<foo>)[^\s<]*\K\s+
See the 正则表达式演示, 用。。。来代替,
.
Details:
-
(?:\G(?!^)|<foo>)
- 上一场成功比赛的结束或<foo>
-
[^\s<]*
- 除空格之外的零个或多个符号以及<
-
\K
- 省略目前匹配的文本
-
\s+
- 1 个或多个空格。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)