Получение канала IRC в строке с помощью регулярного выражения - PullRequest
1 голос
/ 07 августа 2011

Это моя первая публикация здесь, но я нашел здесь много ответов, и это здорово.

В настоящее время я пытаюсь получить канал IRC из строки и канал IRC.Префикс (#) означает, что канал будет выглядеть примерно так:

  • канал

  • another_channel

  • still-another_channel

Каналы не имеют пробелов, поэтому, если бы это был (#a канал), канал был бы просто (#a).

Я пытаюсь разобрать, как будто я анализировал свои URL, вот так:

public String[] splitString(String string) {
    String pattern = "(?i)(http(s?)://|www\\.)\\S++";
    String[] split = string.split(String.format("((?<=%s)\\s++)|(\\s++(?=%s))", pattern, pattern));
    return split;
}

Оставляя меня с результатом, который разбил бы строку таким образом, что есть отдельные части.Пример того, как это работает:

String test = "let's see how this http://google.com/ thing works, www.shall.we";
Result: ["let's see how this", "http://google.com/", "thing works, ", "www.shall.we"]

Надеюсь, это имеет смысл.

В общем, я думаю, я просто ищу какое-то регулярное выражение для получения канала IRC отstring.

Я нашел этот Соответствующий канал IRC с регулярным выражением , но, похоже, он не работает так, как я его ищу.

1 Ответ

1 голос
/ 07 августа 2011

Регулярное выражение для этого простого определения будет

(#\S+)

, что означает #, за которым следует хотя бы один символ, который не является пробелом. Если вы хотите, вы можете сузить допустимые символы, выбрав другой класс символов , например \w, чтобы разрешить только буквы и цифры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...