我目前有这个正则表达式:this\.(.*)?\s[=,]\s
,但是我遇到了一个我无法修复的泡菜。
我尝试了以下正则表达式,它有效,但它也捕获了我不想要的空间:this\.(.*)?(?<=\s)=|(?<!\s),
. 我想要做的是匹配标识符名称。我想要的一个例子,结果是这样的:
this.""W = blah;
这将匹配""W
。上面的第二个正则表达式几乎完美地做到了这一点,但是它也捕获了=
第一组中的空间。有人可以指出我正确的方向来解决这个问题吗?
编辑:不简单地[^\s]
在通配符组中使用的原因是有时我可以得到这样的行:this. "$ = blah;
EDIT2:现在我有另一个问题。它与正确的行不匹配param1.readBytes(this.=!3,0,param1.readInt());
。而不是匹配=!3
它的匹配项=!3,0
。有没有办法来解决这个问题?同样,我不能简单地使用 a[^,]
因为可能有一个param1.readBytes(this.,3$,0,param1.readInt());
应该匹配的名称,3$
。