例如,如果我有类似的东西:
<House \>
windows
walls
<\House>
我想删除让我说的墙壁,我该如何使用正则表达式呢?还是有比正则表达式更好的选择?
所以我需要它看起来像:
<House \>
windows
<\House>
那么我将如何使用正则表达式来解决这个问题?
答案 0 :(得分:1)
(?s)(?<=<Building \/>).*(?=<\/Building>)
仅捕获您两个建筑标签之间的内容。
(?s)
允许.
匹配换行符
(?<=<Building \/>)
意味着您的内容应遵循与<Building />
匹配的一段文本
.*
是您的内容
(?=<\/Building>)
只是意味着您的内容后面应带有</Building>
如果要修剪所有丑陋的空白,可以始终使用this pattern ((?s)(?<=<Building \/>)\s*(.*)\s*?(?=<\/Building>)
)并参考捕获组1。
答案 1 :(得分:1)
那又怎么样:
Find: (<Building />\s+)floor(\s+</Building>)
Replace: \1corner\2