也就是说,我希望定制我的正则表达式来识别以下内容apple and lemonapple lemonapple andapple.我希望单词andlemon是可选的,目前我只设法将and设置为可选,而不是lemon.

It would be great if it's achievable with the current format of the regex.

Regex:

\b([a][\W_]*?)+([p][\W_]*?)+([p][\W_]*?)+([l][\W_]*?)+([e][\W_]*?)+(([a][\W_]*?)+([n][\W_]*?)+([d][\W_]*?))?([l][\W_]*?)+([e][\W_]*?)+([m][\W_]*?)+([o][\W_]*?)+([n][\W_]*?)+\b

Regex101:

https://regex101.com/r/Wte6Gg/2

推荐答案

下面的表达需要以"Apple"开头,然后"lemon"和"and"可以跟在后面,如果这两个词都跟在后面,它们需要按"and lemon"的顺序排列 这有帮助吗?

\b(apple)( ?and)?( ?lemon)?\b

https://regex101.com/r/gyj0yY/1


EDIT

在您的格式中,以下内容应可用:

\b([a][\W_]*?)+([p][\W_]*?)+([p][\W_]*?)+([l][\W_]*?)+([e][\W_]*?)+(([\W_]*)([a][\W_]*?)+([n][\W_]*?)+([d][\W_]*?)+)?(([\W_]*)([l][\W_]*?)+([e][\W_]*?)+([m][\W_]*?)+([o][\W_]*?)+([n][\W_]*?)+)?\b

https://regex101.com/r/5wPyJ1/1

如果这就是你要找的,请标明为答案.

Go相关问答推荐

语法-for循环中的initit陈述是否允许分配?

SEARCH On Conflict Clause不考虑乐观锁定版本

在Go中根据命名空间/字符串生成UUID

Golang XML密钥名称冲突

使用一元或服务器流将切片从GRPC服务器返回到客户端

如何在出现错误时停止从通道读取?

如何将字节文件高效地读入int64切片?

为什么docall在singleflight中使用go panic?

无法使用带有 422 的 go-github 创建提交 - 更新不是快进

helm :将 YAML 转换为 JSON 时出错:yaml:第 xx 行:未找到预期的密钥

Golang 中的泛型类型转换

将值发送到 Channel 并在就绪时读取输出

读取非UTF8编码的文件内容并正确打印出来

Go:从 ssl 证书中获取 'subject/unstructeredName' 的值

如何模仿联合类型

为超时的单元测试创​​建 deadlineExceededError:true

未定义 protoc protoc-gen-go 时间戳

为什么此代码在运行命令 error="exec: not started" 时出现错误?

分配空切片而不引用其类型?

在 connect-go 拦截器中修改响应体