0

我正在尝试在 Open/Google Refine 中做这样的事情:

forEach(["foo", "bar"], regex, value.match(/.*(regex).*/))

那就是循环一个关键字数组来检查单元格是否包含它们中的任何一个。如何使用这些关键字构建正则表达式?

有任何想法吗?

4

1 回答 1

0
import java.util.regex.*;

public class PatternExample {
    public static void main(String[] args) {
        String arr_regex[] = {"foo", "bar"};
        String arr_str[] = {"abcfoodef", "cbard"};
        int i = 0;
        for(String str : arr_str) {
            Pattern pattern = Pattern.compile("(?i).*"+arr_regex[i]+".*");
            Matcher matcher = pattern.matcher(str);
            System.out.println("Input String matches regex - "+matcher.matches());
            i++;
        }
    }
}

我想这正是你想要的。示例在 java 中,但将向您展示如何做到这一点

于 2014-01-03T10:43:45.490 回答