如何删除<item_fifty>
和### hid
之间的所有内容,其中###
可以是任意数字?我想保留<item_fifty>
和### hid
,以便在我更换时不会删除它们。
我想转换一下:
<item_fifty>jdfkjalskjfkajsdlfjkasdfkj### hid389208398</item_fifty>
到此:
<item_fifty>### hid389208398</item_fifty>
这是我到目前为止所拥有的
<item_fifty\>.*[0-9]{3} hid
问题是它也删除了### hid。
答案 0 :(得分:0)
尝试一个积极的前瞻:
.*(?=[0-9]{3} hid)
这应该选择但不包括### hid
。
编辑:假设您不想删除<item_fifty>
,请使用后视:
(?<=<item_fifty>).*(?=[0-9]{3} hid)
编辑2:要让###
为任意数量的数字,可以这样做:
(?<=<item_fifty>).*?(?=[0-9]+ hid)
?
中的.*?
会导致*
非贪婪,也就是说,它会消耗最少量的字符串以便匹配(通常它会消耗尽可能多,包括部分数字。)
答案 1 :(得分:0)
捕获文本并在替换中引用它:
Search: <item_fifty\>.*([0-9]{3} hid)
Replace: \1
或者使用前瞻:
Search: <item_fifty\>.*(?=[0-9]{3} hid)
展望未来的表达方式。