我的输入是
String input = "I am doing <span id='icms'>test</span>on <span id='icms'>regex</span> exp."
现在我的输出就像
"regex exp"
但我的输出需要像这样
I am doing test on regex exp
因此需要有关正则表达式和匹配器的帮助。
答案 0 :(得分:3)
您需要两次更换。首先将<span[^>]*id=['"]icms['"][^>]*>([^<]*)</span>
替换为' $1 '
(不带引号;它们只显示您必须预先添加空格)然后将' {2,}'
(不再使用引号)替换为单个空间。
快速PowerShell测试:
PS> "I am doing <span id='icms'>test</span>on <span id='icms'>regex</span> exp." -replace '<span[^>]*id=[''"]icms[''"][^>]*>([^<]*)</span>',' $1 ' -replace ' {2,}',' '
I am doing test on regex exp.
答案 1 :(得分:1)
以下内容可以捕获每个不是标签的部分,这似乎是您想要的:
(?:(.*)<.*?>(.*))*
编辑:
然后是这个特定的标签:
(?:(.*?)<span id='icms'>([^<]*?)</span>(.*))*