如何将可选字符串组合在一起



我需要一个正则表达式来验证
"Optional str1 as string = ''"
以及
"str2 as string"以及
"str3 as boolean, Optional dtm as date = Now"

因此,当使用"Optional"时,必须有"="符号
"Optional"是可选的

这就是我尝试过的:

(Optionals|)(.*)(s=s|)(.*)

这是不对的。它验证了太多。

有什么提示吗?

您可以使用锚^来断言字符串的开头。

然后,如果字符串中包含Optional并后跟等号,则匹配该字符串;如果不包含Optional,则使用负前瞻(如果支持(并使用交替|匹配整行

^(?:.*bOptionalb.*s=s.*|(?!.*bOptionalb).+)

解释

  • ^字符串开始
  • (?:非捕获组
    • .*bOptionalb.*s=s.*如果包含可选字符和空白字符之间的等号,则匹配整行
    • |
    • (?!.*bOptionalb).+如果不包含Optional,则匹配整行
  • )关闭非捕获组

Regex演示

相关内容

  • 没有找到相关文章

最新更新