
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
27.02.2020, 15:42
|
|||
|---|---|---|---|
|
|||
Как получить значение группы в регулярке? |
|||
|
#18+
В строке "хххххххх2020-01ххххххххх", где "х" означает любой символ (в основном буквы) в произвольном количестве, может быть только один (или ни одного) паттерн "dddd-mm" из двух чисел. Надо его вытащить из строки, распарсив на год и месяц. Делаю так (с регуляркой пока плохо знаком): Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Получаю ошибку Project *.exe raised exception class EConvertError with message ''2020-01' is not a valid integer value for Integer type'. Хотя регулярка вроде правильно составлена: одно совпадение, две группы - проверка https://regex101.com/r/qSB4ih/2 В чем моя ошибка? Можно ли получить искомое без использования групп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2020, 16:21
|
|||
|---|---|---|---|
Как получить значение группы в регулярке? |
|||
|
#18+
LiYing, А Groups.Count чему равно? И если он только один раз встречается, то почему Matches, а не Match? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2020, 16:40
|
|||
|---|---|---|---|
|
|||
Как получить значение группы в регулярке? |
|||
|
#18+
alekcvp LiYing, А Groups.Count чему равно? И если он только один раз встречается, то почему Matches, а не Match? Да, действительно. Заменил. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Так работает, но Groups.Count = 3. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2020, 16:54
|
|||
|---|---|---|---|
Как получить значение группы в регулярке? |
|||
|
#18+
LiYing Так работает, но Groups.Count = 3. Почему? Потому что нулевая группа - это весь захваченный текст, даже в вашем примере на regex101 - точно так же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
27.02.2020, 16:57
|
|||
|---|---|---|---|
|
|||
Как получить значение группы в регулярке? |
|||
|
#18+
alekcvp LiYing Так работает, но Groups.Count = 3. Почему? Потому что нулевая группа - это весь захваченный текст, даже в вашем примере на regex101 - точно так же. Смутил их лог: Match 1 Full match 8-15 2020-01 Group 1. 8-12 2020 Group 2. 13-15 01 Тут 2 группы :) Осталась вторая часть вопроса - можно ли получить искомое без использования групп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038541]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 306ms |

| 0 / 0 |
