Regex 如何使用正则表达式匹配以波浪号分隔的数据

Regex 如何使用正则表达式匹配以波浪号分隔的数据,regex,notepad++,tilde,Regex,Notepad++,Tilde,我有这样的数据: ~10~682423~15~测试数据~10~68276127~15~更多数据~10~6813~15~也是数据~ 我正在尝试使用Notepad++查找标记10(682423682761276813)中的值,并将其替换为零。我原以为下面的语法会起作用,但它选择了我想要的文本的第一个匹配项和行的其余部分,而不仅仅是我想要的文本(~10~682423~)。我还尝试了几十种不同的在线搜索方式,但它们要么做了同样的事情,要么不返回任何结果 ~10~.*~ 您可以使用:(?使用 替换为1

我有这样的数据:

~10~682423~15~测试数据~10~68276127~15~更多数据~10~6813~15~也是数据~
我正在尝试使用Notepad++查找标记10(682423682761276813)中的值,并将其替换为零。我原以为下面的语法会起作用,但它选择了我想要的文本的第一个匹配项和行的其余部分,而不仅仅是我想要的文本(
~10~682423~
)。我还尝试了几十种不同的在线搜索方式,但它们要么做了同样的事情,要么不返回任何结果

~10~.*~
您可以使用:
(?使用


替换为
10~0
。请参阅。
\b10~
10
捕获为整数(在
210
中不允许匹配),并且
\d+
将匹配一个或多个数字。

我想替换标记10中的值(682423、68276127、6813)带零。也添加到原始描述中。谢谢。对于meThanks@Asocia,是的,这很有效。非常感谢!@CarySwoveland我删除了捕获组,我接受了你的建议。堆栈溢出之前的生活是什么?这对我来说几乎完美。唯一的改变是在开始时加入另一个瓷砖,以确保我只拾取tag
10
。如果没有前导波浪号,任何以数字10结尾的字段都将被拾取。这是最终结果:
~\b10~\d+
。谢谢!@Jawann
~\b10~\d+
~10~\d+
相同,因为
~
不是一个字符。这工作非常完美,甚至比我预期的更优雅。您的解释关于为什么我的策略不起作用是非常有帮助的。这表明我有很多关于regex的知识需要学习。我选择了另一个答案,因为这是我使用的答案,但从长远来看,这一个将有助于提高我的技能。谢谢!
\b10~\d+