Простое регулярное выражение - PullRequest
0 голосов
/ 06 апреля 2011

Какое регулярное выражение соответствует такому набору [1] [2] [3] [4] [23] - где числа заключены в скобки. (Мне нужно получить скобки, хотя)

Ответы [ 4 ]

4 голосов
/ 06 апреля 2011

Регулярное выражение \ [[0-9] + \] будет соответствовать чему-либо вроде '[1]', '[2]', '[678]'. Более точное регулярное выражение, которое последовательно улавливает один или несколько из этих шаблонов:

((\ [[0-9] + \]) (| $)) +

1 голос
/ 06 апреля 2011

Я не знаком с Java regex, но если это PCRE, я думаю, что это должно быть:

/(\[\d+\])/

Я не был точно уверен, нужны ли вам скобки в матче, но если нет, думаю, вы могли бы использовать

/\[(\d+)\]/
0 голосов
/ 06 апреля 2011

Кажется, работает следующее:

Pattern pattern = Pattern.compile("(\\[\\d+\\])\\s*");
Matcher matcher = pattern.matcher("[1] [2] [3] [4] [23]");
while (matcher.find()) {
    System.out.println("match = " + matcher.group(1));
}
0 голосов
/ 06 апреля 2011

Если вам не нужно захватывать какие-либо числа, следующее выражение будет соответствовать строке с этим шаблоном:

(?:\[\d+\]\s?)+

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