regex - 如何删除第一个之后包含特殊字符的行:
问题描述
例子:
user1@mail.com:password!@#$
user@mail.com:password
user2@mail.com:pa$$w0rd
预期输出:
user@mail.com:password
解决方案
细节将取决于你所说的“特殊”字符是什么意思。假设,只是为了讨论,“特殊”意味着非字母和非数字。
让我们运行grep来查找您的“特殊”模式:所有带有冒号的行在某个点后跟一个“特殊”字符。
$ grep ":.*[^A-Za-z0-9]" foo.dat
一旦您仅在具有“特殊”字符的行上获得匹配项,您就可以添加 grep 的-v选项以省略与您的模式匹配的行。
$ grep -v ":.*[^A-Za-z0-9]" foo.dat
换句话说,-v只会打印与您的模式不匹配的行,这意味着在这种情况下,它将打印没有冒号后跟特殊字符的行。
推荐阅读
- r - 我如何计算 Rstudio 每周不同的破产情况?
- python - 删除在 Pandas 中作为另一行的子字符串找到值的行
- javascript - 建议需要使用javascript代码处理这类问题
- java - 杰克逊 ObjectMapper 在 Spring 的生命周期
- python - 如何在 KivyMD 中编写可重复使用的按钮?
- python - 熊猫更新未反映在 jupyter 笔记本中
- java - 错误 - 解释器不是抽象的,并且不会覆盖抽象方法
- c# - Azure KeyVault:如何创建 clientId 和 clientSecret?
- oop - 这是否被视为程序编程(或贫血模式)?
- java - JPA 在每次迭代后开始消耗越来越多的内存