需要帮助找出这些字符串的正则表达式

n0p*_*0pe 1 regex perl

我正在学习正则表达式,我一直试图找出一个只匹配以下字符串的模式:

-a
-A
--add
--Add
a
A
add
Add
Run Code Online (Sandbox Code Playgroud)

如果重要的话,我在Perl中使用它.如果你回答,你能解释一下你的正则表达式,这样我就可以尝试去学习我做错了吗?

Wil*_*son 7

^(-?[aA]|(--)?[aA]dd)$
Run Code Online (Sandbox Code Playgroud)
  • ^ 匹配字符串的开头
  • -?[aA]:
    • -?匹配-或没有
    • [aA]比赛aA
  • (--)?[aA]dd:
    • (--)?匹配--或没有
    • [aA]比赛aA
    • dd 火柴 dd
  • (x|y)比赛xy
  • $ 匹配字符串的结尾

您应该花一些时间仔细阅读http://perldoc.perl.org/perlrequick.html.当我编写正则表达式时,我仍然需要一个参考.