小编Pet*_*art的帖子

什么是正则表达式"独立捕获组"?

从Java 6 Pattern文档:

特殊构造(非捕获)

(?:X )   X,作为非捕获组

...

(?>X )   X,作为一个独立的非捕获组

之间(?:X)和有(?>X)什么区别?在这种情况下,独立意味着什么?

java regex

55
推荐指数
3
解决办法
5655
查看次数

如何模拟core.logic中的"外连接"?

我刚刚开始使用core.logic,并且正在努力实现它我正在尝试实现一些类似于我目前专业工作的问题.然而,问题的一部分让我难过......

作为我的例子的简化,如果我有一个项目目录,其中一些仅在某些国家/地区可用,而某些项目在特定国家/地区不可用.我希望能够指定项目列表和例外,例如:

(defrel items Name Color)
(defrel restricted-to Country Name)
(defrel not-allowed-in Country Name)

(facts items [['Purse 'Blue]
              ['Car 'Red]
              ['Banana 'Yellow]])

(facts restricted-to [['US 'Car]])

(facts not-allowed-in [['UK 'Banana]
                       ['France 'Purse]])
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我宁愿不为所有国家指定允许,因为有限制的项目集相对较小,我希望能够进行一次更改以允许/排除给定的项目国家.

如何编写一个规则,为一个国家/地区提供项目/颜色列表,具有以下约束:

  • 该项目必须位于项目列表中
  • 国家/项​​目必须不在"不允许进入"列表中
  • 或者:
    • 该项目的限制列表中没有国家/地区
    • 国家/项​​目对位于限制列表中

有办法做到这一点吗?我是以完全错误的方式思考问题的吗?

logic clojure minikanren clojure-core.logic

16
推荐指数
1
解决办法
1003
查看次数

如何在java中创建一个动态代理,保留方法上的参数注释?

我目前正在尝试代理一些现有的JAX/RS资源,以便允许我使用Hibernate Validator的方法验证支持.但是,当我代理我的类(当前使用cglib 2.2)时,FormParam注释不存在于代理类中的参数上,因此JAX/RS运行时(apache wink)不填充参数.这里有一些测试代码显示:

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;

import java.lang.annotation.Annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

import javassist.util.proxy.ProxyFactory;

public class ProxyTester {

    @Target( { PARAMETER })
    @Retention(RUNTIME)
    public static @interface TestAnnotation {
    }

    public static interface IProxyMe {
        void aMethod(@TestAnnotation int param);
    }

    public static class ProxyMe implements IProxyMe {
            public void aMethod(@TestAnnotation int param) {
        }
    }

    static void dumpAnnotations(String type, Object proxy, Object forObject,
            String forMethod) {
        String …
Run Code Online (Sandbox Code Playgroud)

java reflection cglib javassist

11
推荐指数
1
解决办法
6506
查看次数

在starteam中,如何找出文件被删除的时间以及由谁删除?

我们有一个小团队负责运行StarTeam.持续不断的挫败感和问题是在StarTeam中处理已删除的文件.很明显,Starteam会在内部跟踪已删除的文件,但似乎无法获取有关文件删除的任何信息.

到目前为止,我找到删除时间的唯一解决方案是使用"比较"视图执行手动二进制搜索.有没有更好的方法('删除时间'的查询似乎永远不会拿起任何文件).

starteam

6
推荐指数
1
解决办法
2087
查看次数