|
|
|
Регулярные выражения и формат строки
|
|||
|---|---|---|---|
|
#18+
Добрый день ! есть такая задачка : есть набор готовых паттернов в виде мапы для форматирования строк : паттерн[%s] = значение[%s][%s] есть входная мапа - ключ=значение нужно понять если ли в мапе паттернов ключ который будет шаблоном для ключа из мапы входных значений и если это так то применить этот паттерн к ключу и значению из второй мапы. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. на входе мне приходят значения вида - Код: java 1. 2. 3. 4. 5. 6. что хочу : 1) понять что входная строка подпадает под строку нужного формата 2) если это так то получить параметры и заполнить формат (фактически получить s2 или s1) 3) сложность в том что по второму шаблону приходит значение до знака = , и если "FOO[0v3]" - соответствует шаблону FOO[%s] создать результирующую строку вида : ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 15:58 |
|
||
|
Регулярные выражения и формат строки
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 16:15 |
|
||
|
Регулярные выражения и формат строки
|
|||
|---|---|---|---|
|
#18+
Usman, String.format(pattern1, value); как сформировать строку - по паттерну и значению я знаю . вопрос был про то как проверить ключ в мапе входящих значений на соответствие паттерну ! Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 16:43 |
|
||
|
Регулярные выражения и формат строки
|
|||
|---|---|---|---|
|
#18+
нужно проверить что строка "BAR[0vb]" подходит под регулярное выражение "BAR[%s]" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 16:46 |
|
||
|
Регулярные выражения и формат строки
|
|||
|---|---|---|---|
|
#18+
Atum1нужно проверить что строка "BAR[0vb]" подходит под регулярное выражение "BAR[%s]" в общем случае по строке BAR[%s] нужно построить паттерн регулярку -и через нее проверить значение BAR[0vb] - если оно соответствует взять из него значение 0vb как то так . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 16:50 |
|
||
|
Регулярные выражения и формат строки
|
|||
|---|---|---|---|
|
#18+
Atum1, Есть два решения: - написать свой парсер формат-паттерна - либо преобразовывать формат-паттерн в регекс-патерн, а дальше - парсить регуляркой при помощи Scanner'а: Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 18:08 |
|
||
|
Регулярные выражения и формат строки
|
|||
|---|---|---|---|
|
#18+
Usman, Спасибо. Как раз после того как понял что нужно менять все значения %s на \\[\\w+\\] Чтобы составить корректный паттерн. Понял что надкжнее будет написать свой парсер а не пользоваться ругулярками. Ибо могут быть разные варианты типа foo[%s][%s]=[%s][%s] итд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 22:02 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38654779&tid=2127115]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
157ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 422ms |

| 0 / 0 |
