gpt4 book ai didi

java - 最多一个字符的正则表达式匹配字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:20 25 4
gpt4 key购买 nike

我有多行文件和一个可能只出现一次的特定字符(在整个文件中);我需要一种方法来检查保存了哪些文件。

假设我有

1. 00000
2. 00050
3. 05500
4. 00000

五个只能出现一次。如何使用 bash 和 grep 将此文件标记为格式错误?

我想您会先检查哪些行包含 5。如果不止一行,请停止。然后看看那条线上是否有超过一个五,如果有,就停下来。有一个更好的方法吗?

现在我会通过

grep "5" file | wc -l.

如果不止一个,就停止。如果没有,继续这一行。那么我如何计算那里有多少个 5?起初我使用 5{1} 但这似乎不起作用——如果字符串是“55”,它只匹配其中的每 5 个,而我最多需要 1 个 5。然后我想我会看看是否有超过一个 5,如果是,就停止。但是 5{2,} 仅在多个 5 彼此相继时才有效。另一方面,

.*5.*5.*

只匹配有 2 个或更多 5 的单词,但它看起来很奇怪......

有更好的建议吗?我确定有,但现在是晚上,这就是我今天的想法,抱歉。请记住,我只能使用 grep。

最佳答案

要确保字符串只包含一次 5,请使用正则表达式模式

^[^5]*5[^5]*$

如果需要出现一次或不需要出现 5,请使用正则表达式模式

^[^5]*5?[^5]*$

如果要匹配那些包含多次出现的 5 的字符串,请使用正则表达式模式

5.*5

关于java - 最多一个字符的正则表达式匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19918117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com