我有这样的数据:
~10~682423~15~Test Data~10~68276127~15~More Data~10~6813~15~Also Data~
我正在尝试使用 Notepad++ 查找标记 10 (682423、68276127、6813) 中的值并将其替换为零。我认为下面的语法会起作用,但它选择了我想要的文本的第一次出现和该行的其余部分,而不仅仅是我想要的文本 (~10~682423~
,例如)。我还尝试了数十种在线搜索变体,但它们要么做同样的事情,要么不会返回任何结果。
~10~.*~
最佳答案
您可以使用:(?<=~10~)\d+(?=~)
并替换为 0
.这使用环视来检查 ~10~
在数字序列和 (?=~)
之前确保 ~
遵循数字序列。如果任何字符可以在 ~10~
之后字段,使用 (?<=~10~)[^~]+(?=~)
.
~10~.*~
的问题是*
是贪婪的,所以它只是吞噬匹配任何字符和 ~
.
关于regex - 如何使用正则表达式匹配波浪线分隔的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61858904/