C: указатель функции и проблема определения типа

Я согласен с ответами, которые говорят об использовании групп захвата, но имеют немного другой подход к самому регулярному выражению. Обязательно используйте параметры gi (глобальные и без учета регистра), чтобы получить правильные результаты.

r"([45]G).*?([\d.]+).*?([\d.]+)"

Я включил ссылку на онлайн-тестер и отладчик регулярных выражений , который я использовал, потому что он очень хорошо объясняет отдельные элементы регулярных выражений, и я также скопировал в примере Python код, сгенерированный ниже.

import re

regex = r"([45]G).*?([\d.]+).*?([\d.]+)"

test_str = "Put in 3 extenders but by the 4th floor it is weak on signal these don't piggy back of each other. ST -99. 5G DL 624.26 UP 168.20 4g DL 2 Up .44"

matches = re.finditer(regex, test_str, re.IGNORECASE)

for matchNum, match in enumerate(matches, start=1):

    print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))

    for groupNum in range(0, len(match.groups())):
        groupNum = groupNum + 1

        print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))

# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

9
задан claf 5 April 2009 в 10:45
поделиться

3 ответа

Ваш фиктивный деструктор, как объявляют, возвращает пустой указатель, не пустоту. Это объявление не соответствует определению типа для Вашего указателя функции деструктора.

11
ответ дан 4 December 2019 в 10:05
поделиться

Определение типа должно быть:

typedef void *(*my_destructor)(void *);
5
ответ дан 4 December 2019 в 10:05
поделиться

Поскольку my_dummy_test возвращается пусто* вместо пустоты. Если Вы хотите возвратиться пусто*, определение типа должно быть

typedef void* (*my_destructor)(void *);
5
ответ дан 4 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: