Разделение C# Regex К Шаблону Java разделяется

Я не знаю, почему ты это сдерживаешь. Клиент предлагает данные.

Предположительно, они создают ценность каким-то уникальным способом, который нетривиально отражается в данных.

В любом случае.

Вы можете проверить браузер, разрешение экрана и IP-адрес, чтобы узнать, не является ли это каким-то автоматическим скребком.

Большинство вещей, таких как cURL и wget - если их тщательно не настроить - явно не браузеры.

1
задан user108088 16 June 2009 в 18:00
поделиться

2 ответа

Я не знаю, как это делает C #, но чтобы реализовать это на Java, вам придется приблизительно это сделать. Посмотрите, как этот код делает это:

public String[] split(String text) {
    if (text == null) {
        text = "";
    }

    int last_match = 0;
    LinkedList<String> splitted = new LinkedList<String>();

    Matcher m = this.pattern.matcher(text);

    // Iterate trough each match
    while (m.find()) {
        // Text since last match
        splitted.add(text.substring(last_match,m.start()));

        // The delimiter itself
        if (this.keep_delimiters) {
            splitted.add(m.group());
        }

        last_match = m.end();
    }
    // Trailing text
    splitted.add(text.substring(last_match));

    return splitted.toArray(new String[splitted.size()]);
}
1
ответ дан 3 September 2019 в 01:24
поделиться

Это потому, что вы захватываете разделенный токен. C # воспринимает это как намек на то, что вы хотите сохранить сам токен как член результирующего массива. Java не поддерживает это.

1
ответ дан 3 September 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: