获取文件的以下内容:
"52245" "528" "06156903" "52246" "530" "00584709"
什么模式可以匹配52245和52246但没有别的?
Wel*_*bog 17
只能匹配这两个数字的东西:
^\"5224[56]\"$
Run Code Online (Sandbox Code Playgroud)
现在,如果你正在寻找更通用的东西(例如,任何5位数的数字),你会想要类似的东西
^\"\d{5}\"$
Run Code Online (Sandbox Code Playgroud)
我假设引号(")是文件的一部分.如果不是,则省略\"表达式中的部分.
你想要的特定grep表达式是这样的:
grep -E "^\"[[:digit:]]{5}\"$" filename
Run Code Online (Sandbox Code Playgroud)
或者从评论中提出建议:
grep -P "^\"\d{5}\"$" filename
Run Code Online (Sandbox Code Playgroud)
我已经测试了两个,他们在我的机器上工作!
^"5224[56]"$
^"5224(5|6)"$
^"52{2}4[56]"$
^"(52245|52246)"$
...
Run Code Online (Sandbox Code Playgroud)
您应该将您使用的正则表达式基于您想要表达的语义.如果你正在寻找两个任意数字使用^"(52245|52246)"$.如果数字有任何意义 - 类型代码或类似的东西 - 我会坚持^"5224(5|6)"$.
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |