我正在使用notepad ++并使用find和replace删除一行中的所有内容,除了我的字符串找到的匹配项。
例如
第1行。这是样本。 775 657 7576样本行1
第2行。第二个样本行。 661-525-5366样本第2行
第3行。第三行样本466.755.7888。第3行
使用正则表达式\ d {3} \ D?\ d {3} \ D?\ d {4}匹配上述数字并删除其相关行中的所有其他内容,从而使其看起来像这样
第1行.775 657 7576
第2行.661-525-5366
第3行.466.755.7888
请帮忙
答案 0 :(得分:0)
实际上,这很容易。只需使用这个正则表达式:
(?>\d{3}\D?\d{3}\D?\d{4}\K|[\s\S])
工作原理:
此正则表达式尝试将电话号码与指示的正则表达式匹配。如果是,则会将其从与\K
的匹配中删除。如果它没有,则它只会使用[\s\S]
(.
的更好版本捕获1个字符,因为它也会捕获换行符。)
使用此正则表达式查找其他所有内容并将其替换为空格。
答案 1 :(得分:0)
^.*?\b(\d{3}\D?\d{3}\D?\d{4})\b.*$
您可以使用此选项并替换为$1
或\1
。See demo.
答案 2 :(得分:0)