我需要一个正则表达式来验证"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演示