Notepad ++:我有一个包含电话号码的文件,所有文件的类型均为123-123-1234 我需要匹配模式any3digitsDASHany3digitsDASHany4digits,并删除任何与此模式不匹配的内容
XL/XXL 1
349 "
"
242 8 . .
. 22140
089-247-3065
XL/XXL 1
349 "
"
206/1 .6 . .
. 30000
092-273-6125
089-247-3065
092-273-6125
在此先感谢您的帮助!
答案 0 :(得分:2)
\G.*?(?<!\d)(\d{3}-\d{3}-\d{4}(?!\d)|\z)
$1\n
. matches newline
说明:
\G # restart from last match position
.*? # 0 or more any character
(?<!\d) # negative lookbehind, make sure we haven't digit before
( # start group 1
\d{3}-\d{3}-\d{4} # the string you're searching for
(?!\d) # negative lookahead, make sure we haven't digit after
| # OR
\z # end of file
) # end of group
屏幕截图(之前):
屏幕截图(之后):
答案 1 :(得分:1)
grep -o '\b[[:digit:]]\{3\}-[[:digit:]]\{3\}-[[:digit:]]\{4\}\b' file
089-247-3065
092-273-6125
答案 2 :(得分:1)
替换此正则表达式所找到的内容:
^.*(\d{3}[-]\d{3}[-]\d{4}).*$
并替换为
\1
在Notepad ++中,会隔离其行中的所有电话号码,但保留不包含电话号码的行。可以通过替换以下正则表达式将其删除:
^(?!\d{3}[-]\d{3}[-]\d{4}).*$
一无所有。