Java JDI为多个类应用类过滤器
我正在创建一个Java JDI为多个类应用类过滤器,java,regex,jdi,jpda,Java,Regex,Jdi,Jpda,我正在创建一个MethodEntryRequest,我只想将此请求应用于ex:-“java.*”和“sun.*”的两个类模式的方法。为此,我编写了以下代码 MethodEntryRequest menr = mgr.createMethodEntryRequest(); menr.setSuspendPolicy(EventRequest.SUSPEND_ALL); menr.addClassFilter("java.*|sun.*"); 上述代码的问题在于它禁用了所有方法事件。但如果我只应用
MethodEntryRequest
,我只想将此请求应用于ex:-“java.*”
和“sun.*”
的两个类模式的方法。为此,我编写了以下代码
MethodEntryRequest menr = mgr.createMethodEntryRequest();
menr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
menr.addClassFilter("java.*|sun.*");
上述代码的问题在于它禁用了所有方法事件。但如果我只应用一个类模式方法,它就可以正常工作。我尝试用
“\\\\\\\\\”
转义“\\\\\\\\\\”
,但没有成功。因此,我想知道如何为多个类模式应用类过滤器?看起来有些问题,普通java正则表达式不起作用。所以我通过提出两个MethodEntryRequests解决了我的问题,一个是“sun”,另一个是“java”。但这不是最好的答案,因为对于每个类模式,都会有一个MethodEntryRequest。您的答案不起作用。我不明白你所说的示例和可接受项是什么意思。我尝试了“(java)。*”而不是“java.*”,发现两者不相等“()”导致了一些问题!如文档所述:正则表达式仅限于以'*'
开头或以'*'
结尾的精确匹配和模式;例如,“*.Foo”
或“java.*”
。但这些都以*结尾。不,它们单独工作,但不能组合工作。