Регулярное выражение для строк типа 'stringList [3]' - PullRequest
0 голосов
/ 18 декабря 2011

Я не чоп на завсегдатаев, но передо мной стоит задача, и я думаю, что выражения могут быть полезны.Я хочу проверить, соответствует ли строка типа 'stringList [0]', 'stringList [2]' шаблону, то есть я пытаюсь выяснить, является ли строка текстовым представлением элемента коллекции.Как будет выглядеть этот шаблон?Я буду использовать Java в качестве основного инструмента.Заранее большое спасибо.

Ответы [ 2 ]

2 голосов
/ 18 декабря 2011

Для соответствия 'stringList [0]' вы можете использовать

"stringList\\[\\d+\\]"

, который соответствует stringList, за которым следует [и хотя бы одна цифра, за которой следует]

Редактировать:

Чтобы соответствовать тому, что было разъяснено

"[\\p{L}_$][\\p{L}\\p{N}_$]*\\[\\d+\\]"

, которое, я думаю, соответствует любому действительному идентификатору.Начинаются с любой буквы, _ или $, за которой следует одна или несколько букв, цифр, _ или $, за которыми следует [, затем 1 или несколько цифр, а затем еще одна].

2 голосов
/ 18 декабря 2011
"stringList\\[(\\d+)\\]"

будет соответствовать "stringList [число]"

"([a-zA-Z]+)\\[(\\d+)\\]"

будет соответствовать любой последовательности символов верхнего / нижнего регистра, за которыми следует «[число]» допустимые имена классов / полей Java могут содержать цифры (не в качестве первого символа) и подчеркивания (и, может быть, больше вещей, о которых я не могу думать?), поэтому вам понадобится что-то более сложное для первого блока, но вы можете, вероятно, Google для «полного» выражения для допустимых имен классов / полей Java

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