我需要一些帮助和解释(如果可能)与一个正则表达式. 以下是规格说明:
- 它由两个字符组成,可以是"::",也可以是"**"(只有两个字符,且必须匹配单词的开头和结尾)
- 长度至少为3个字符(不包括周围的符号)
- 它以大写字母开头
- 仅以小写字母继续
以下是我的正则表达式:
([*|:]{2})(?<emoji>[A-Z]{1}[a-z]{2,})\1
以下是测试输入
Test, test test::Heart:::::: This includes 3 **Snake**, 1 ::Elephant:, 12 **Monk3ys**, a **Gorilla::, 5 ::fox:es: and 21 different types of :Snak::Es::. ::::::::Moon:: **Shy****
Shy个
我的正则表达式错误地匹配了Elephant
、Moon
和Shy
,因为这些单词多于2(:
或*
).
我试着用(^
和$
)作为字符串的开始和结束,但没有成功.