Я хочу захватить все числа запятыми или не разделенными запятыми, за исключением 4-значных чисел:
Я хочу сопоставить эти числа (в моем случае число всегда разделено 3 цифрами)
978,763,835,536,363
123
123,456
123456
7456
3400
исключая такие годы, как
1200 till 2020
Я написал это
regex_patterns = [
re.compile(r'[0-9]+,?[0-9]+,?[0-9]+,?[0-9]+')
]
это работает хорошо, я не исключаю, сколько лет из этого числа ... большое спасибо
Конечно, я работаю над чувствующими, число в предложениях не является необходимым в первую очередь для такой строки
- То есть от 60 до 41, а от 100 000 до 65 656½,соответствующая величина для βυ Было найдено, что это 36 075,5621 (с эксцентриситетом 9165), что соответствует всей овальной траектории Марса. -Это было 4657.
РЕДАКТИРОВАТЬ:
Так как во время моей задачи я столкнулся с множеством проблем, несколько раз обновил вопрос.
Прежде всего проблема в том,в основном решено! спасибо за все за вклад.
просто очень маленькая проблема. основываясь на других комментариях, я интегрировал решение, как здесь
r'(?<!\S)(?<![\d,])(?:(?!(?:1[2-9]\d\d|20[01]\d|2020))\d{4,}[\u00BC-\u00BE\u2150-\u215E]?|\d{1,3}(?:,\d{3})+)(?![\d,])[\u00BC-\u00BE\u2150-\u215E]?(?!x)(?!/)
Он может корректно уничтожить большую часть случая,
https://regex101.com/r/o5gdDt/8
и затем снова, как естьсвоего рода шум в моем тексте, подобный этому:
"Я принимаю за фигурную единицу [x]. Это квадрат GEOM также будет фигурной единицей [x2]. Добавьте квадрат GEOM на εο, 227 052,и сумма двух будет квадратом GEOM OMε или ψν. Но квадрат GEOM для βν равен 4,310,747,475 PARA "
. Он не может захватить число 227,052, которое заканчивается на", "
когда я его поменял я столкнулся с этой проблемой
(?<!\S)(?<![\d,])(?:(?!(?:1[2-9]\d\d|20[01]\d|2020))\d{4,}[\u00BC-\u00BE\u2150-\u215E]?|\d{1,3}(?:,\d{3})+)(?![\d])[\u00BC-\u00BE\u2150-\u215E]?(?!x)(?!/)
``` (basically ignoring comma in (,?![\d]))
I faced with another problem which the regex captured 4,310,747,475 in this:
4,310,747,475x2+978,763,835,536,363
as you see here..
https://regex101.com/r/o5gdDt/9
any idea would be very appreciated
however the regex now works almost good, but in order to be perfect I need to improve it
-