Google Refine: Могу ли я использовать переменную в регулярном выражении?
Я пытаюсь сделать что-то подобное в Open/Google Refine:
forEach(["foo", "bar"], regex, value.match(/.*(regex).*/))
То есть цикл массив ключевых слов, чтобы проверить, содержит ли ячейка любое из них. Как я могу использовать эти ключевые слова для создания регулярных выражений?
Есть идеи?
1 ответ
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, но покажет вам, как это сделать