我需要匹配两种类型的值:
1. Object.Property
2. Object.FuncName("Argument")
现在我尝试使用这样的东西:
\w+.\w+(\(.*\))?
\w+.\w+
- 确保我得到像Object.PropertyName这样的表达式
(\(.*\))?
- 我在里面有任何带括号的括号。因为它们用括号括起来,后跟问号,这部分是可选的。
因此可能是Object.PropName
或Object.FuncName('SomeArgHere')
当我使用这个正则表达式反对这样的事情时:
Object.FuncName("SomeArg") = 'SomeValue' AND Object.SomeProp = 'AnotherValue'
在regexhero我也'SomeValue'
AND Object
匹配。
相反,它应匹配Object.FuncName("SomeArg")
和Object.SomeProp
根据我的回答,我尝试使用\w+\.\w+(\(.*?\))?\s+MayContain(\[.+,?\ ?\])
来匹配以下内容:Obj.Prop MayContain["value"] AND Obj.Func("Test") MayContain["Other"]
。它与整个字符串相匹配,尽管是AND