【发布时间】:2019-06-05 21:09:33
【问题描述】:
我想在 Go 中编写正则表达式以匹配一个字符串,前提是它不包含特定的子字符串 (-numinput) 并且包含另一个特定的字符串 (-setup)。
例如,对于 inputStr
以下类型的字符串不应匹配,因为存在 -numinput
str = "axxx yy -setup abc -numinput 12345678 aaa"
以下类型的字符串应匹配,因为存在 -setup 而不存在 -numinput
str = "axxx yy -setup abc aaa"
以下类型的字符串不应匹配,因为即使 -numinput 不存在,-setup 也不存在
str = "axxx yy abc aaa"
我遇到了一些帖子,例如Regular expression to match a line that doesn't contain a word?
但是,我只是不明白如何在 Golang 中做到这一点
【问题讨论】:
-
为什么不使用
strings.Contains()? Go 中的正则表达式不允许环视,你想要的看起来像一个非常丑陋的正则表达式。 -
Regex 是完全错误的工具。
标签: regex go regex-lookarounds