【发布时间】:2019-11-09 09:35:33
【问题描述】:
当没有小写字母且至少有一个大写字母时,我需要在 go 中找到一个匹配的正则表达式。
例如:
"1 2 3 A" : Match
"1 2 3" : No match
"a A " : no match
"AHKHGJHB" : Match
这项工作,但在 PHP 中不在 Go 中(?= 令牌在 Go 中不起作用):
(?=.*[A-Z].*)(?=^[^a-z]*$)
在我的代码中,这一行调用了正则表达式:
isUppcase, _ := reg.MatchString(`^[^a-z]*$`, string)
实际上我的正则表达式会在没有小写字母时捕获,但我希望它也能在至少有一个大写字母时捕获。
【问题讨论】:
-
查看golang.org/pkg/regexp/syntax 并使用例如
\p{Lu}和Ll(最接近您的要求)。 -
我已经有了,但我认为我只是在使用正则表达式。无论如何,Wiktor Stribiżew 的回答对我有用。
-
实际上,我对这个问题的投票数感到非常惊讶:问题已明确说明,有一个有效的尝试来解释它有什么问题,并且有预期结果的示例字符串。
标签: regex go regex-lookarounds