3

我将如何删除 and 之间的所有内容<item_fifty>### hid哪里###可以是任何数字?我想保留它们<item_fifty>### hid所以当我替换它们时它们不会被删除。

我想转换这个:

<item_fifty>jdfkjalskjfkajsdlfjkasdfkj### hid389208398</item_fifty>

对此:

<item_fifty>### hid389208398</item_fifty>

这是我到目前为止所拥有的

<item_fifty\>.*[0-9]{3} hid

问题是它也删除了###隐藏。

4

2 回答 2

0

尝试积极的前瞻:

.*(?=[0-9]{3} hid)

这应该选择最多但不包括### hid.

编辑:假设您不想删除<item_fifty>,请使用后视:

(?<=<item_fifty>).*(?=[0-9]{3} hid)

编辑2:让###任意数量的数字,这将做到这一点:

(?<=<item_fifty>).*?(?=[0-9]+ hid)

?in.*?导致非贪婪,也就是说,它将消耗最少的*字符串以进行匹配(通常它会尽可能多地消耗,包括部分数字)。

于 2013-05-31T22:18:10.443 回答
0

捕获文本并在替换中引用它:

Search: <item_fifty\>.*([0-9]{3} hid)
Replace: \1

或使用前瞻:

Search: <item_fifty\>.*(?=[0-9]{3} hid)

向前看是非消耗性的表达。

于 2013-05-31T22:18:35.737 回答