Синтаксис регулярных выражений - PullRequest
0 голосов
/ 24 октября 2011

Мне нужно найти два типа случаев, когда есть символ «[» с использованием регулярных выражений:

  1. Когда за символом «[» следует число.
  2. Когда за символом «[» следуют буквы.

На Java я пробовал:

Pattern firstinstance = Pattern.compile("\\[abcdefgABCDEFG");
Pattern secondinstance = Pattern.compile("\\[[0-9]");

Однако, похоже, это не работает. Ребята, у вас есть возможные предложения?

Ответы [ 4 ]

1 голос
/ 24 октября 2011

Первый случай, когда после символа «[» следует число.

Любая десятичная цифра в любом скрипте:

"\\[\\p{Nd}"

Любая цифра вТолько 0-9:

"\\[\\d"
"\\[[0-9]"

Второй случай, когда за символом «[» следуют буквы.

Любая буква в любом скрипте:

"\\[\\p{L}"

Только буквы в AZ или az:

"\\[[A-Za-z]"
0 голосов
/ 24 октября 2011

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

Pattern firstinstance = Pattern.compile("\\[[0-9]");
Pattern secondinstance = Pattern.compile("\\[[a-zA-Z]");

Эти строки читаются как

\[[0-9]

и

\[[a-zA-Z]

которое вы хотите регулярное выражение.

Обратите внимание, что для получения буквального обратного слеша в регулярном выражении вам нужно использовать 4 обратных слеша \\\\.

0 голосов
/ 24 октября 2011
Pattern first = Pattern.compile("[[][0-9]");
Pattern second = Patter.compile("[[][A-z]+");

Регулярные выражения очень просты для понимания. Взгляните на Основные понятия

0 голосов
/ 24 октября 2011
Pattern firstinstance = Pattern.compile("\\[[a-zA-Z]+");
Pattern secondinstance = Pattern.compile("\\[[0-9]+");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...