gpt4 book ai didi

regex - 如何在正则表达式中表示 epsilon?

转载 作者:行者123 更新时间:2023-12-01 09:08:51 30 4
gpt4 key购买 nike

教科书教我们使用 epsilon (ε) 编写正则表达式符号,但是如何将该符号直接转换为代码而不必完全修改我的正则表达式?

例如,我将如何编写这个正则表达式来捕获以 a 开头或结尾的所有小写字符串。 (或两者)。

不是 100% 确定这是正确的,但是......

((a| epsilon )[a-z] * a) | (a[a-z] * (a| epsilon ))

所以一些应该匹配的字符串包括:

a //single "a" starts or ends with "a"

aa //starts and ends with "a"

ab //starts with "a"

ba //ends with "a"

aba //starts and ends with "a"

aaaaaaaa //starts and ends with "a"

abbbbbbb //starts with "a"

bbbbbbba //ends with "a"

abbbbbba //starts and ends with "a"

asdfhgdu //starts with "a"

onoineca //ends with "a"

ahnrtyna //starts and ends with "a"

我只交换什么 epsilon对于正确的符号,我不想修改表达式其余部分的任何部分。另外我想说清楚,我实际上并不是在检查 epsilon 符号,我想选择一个字符或什么都没有(不是什么都没有……epsilon)。

这样的符号存在吗?

我想要的可能吗?

最佳答案

只需省略 𝜖,因为它表示空字符串:

([1-9]|)[0-9]*

对于这种特殊情况,还有一个快捷方式:
([1-9]?)[0-9]*
?表示前一个标记出现零次或一次。

关于regex - 如何在正则表达式中表示 epsilon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3716269/

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