Regex 删除10位数字正则表达式后的所有内容
我有数百万行,如下所示:Regex 删除10位数字正则表达式后的所有内容,regex,Regex,我有数百万行,如下所示: 0032 0001 0020413300 0001 BLUE OVERCOAT CC P 我使用以下方法删除了之前的文本: .*(?=\d{10}) 要在尝试此操作后删除所有内容,请执行以下操作: \d{10}.* 但它选择的是数字&之后的一切。我如何留下号码并在之后选择所有内容?使用捕获组: (\d{10}).* 并替换为$1。
0032 0001 0020413300 0001 BLUE OVERCOAT CC P
我使用以下方法删除了之前的文本:
.*(?=\d{10})
要在尝试此操作后删除所有内容,请执行以下操作:
\d{10}.*
但它选择的是数字&之后的一切。我如何留下号码并在之后选择所有内容?使用捕获组:
(\d{10}).*
并替换为$1
。看
还考虑使用单词边界来匹配10位数字作为一个整体词:
\b(\d{10})\b.*
看
如果您使用的是记事本++,则可以使用
\K
将匹配的文本放到其位置:\b\d{10}\b\K.*
并替换为空字符串。或者一个lookback:(?仍然选择数字,我需要保留数字。编辑:K.*有效,谢谢。所有的解决方案都将保留数字。演示添加到答案中。您可以将所有(组后和组前)匹配为。*(\d{10}).*并替换为$1。@mquantin:这将保留没有10位数字的行。如果任务是删除除10位数字以外的所有数字,我将建议另一种解决方案(特别是对于Notepad++)。