improved regex pattern
This commit is contained in:
parent
abbf889f1e
commit
c46a0e188e
@ -1,4 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
cwd = os.path.dirname(os.path.abspath(__file__))
|
cwd = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
@ -9,33 +10,50 @@ advent = os.path.join(cwd, file_name)
|
|||||||
nums = []
|
nums = []
|
||||||
values = []
|
values = []
|
||||||
|
|
||||||
test = 'two1nine'
|
# test = "eighthree"
|
||||||
|
|
||||||
numbers = {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9}
|
# numbers = {
|
||||||
|
# 'one': 1, 'two': 2, 'three': 3, 'four': 4,
|
||||||
|
# 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9
|
||||||
|
# }
|
||||||
|
numbers_to_string = {
|
||||||
|
'one': '1', 'two': '2', 'three': '3', 'four': '4',
|
||||||
|
'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if numbers in advent:
|
with open(advent, 'r') as file:
|
||||||
break
|
for line in file: # Read lines
|
||||||
else
|
# Split the line when a digit has been found
|
||||||
|
digit_index = re.findall(r'(?:(one|two|three|four|five|six|seven|eight|nine)|(\d))', line)
|
||||||
# with open(advent, 'r') as file:
|
# print(digit_index)
|
||||||
# for line in file:
|
if digit_index:
|
||||||
# for digit in line:
|
# Use the tuple method to find if the value is present
|
||||||
# if digit.isdigit():
|
for num,num2 in digit_index:
|
||||||
# nums.append(digit)
|
# Always the spelled out number, convert to string digit
|
||||||
# if len(nums) < 2:
|
if num:
|
||||||
# num_one = nums[0]
|
# if num in numbers:
|
||||||
# num_two = num_one
|
# nums.append()
|
||||||
# num_join = num_one + num_two
|
nums.append(numbers_to_string[num])
|
||||||
# values.append(int(num_join))
|
# Pass the string digit
|
||||||
# else:
|
if num2:
|
||||||
# num_one = nums[0]
|
nums.append(num2)
|
||||||
# num_two = nums[-1]
|
print(nums)
|
||||||
# num_join = num_one + num_two
|
# values.append()
|
||||||
# values.append(int(num_join))
|
if len(nums) < 2:
|
||||||
# nums.clear()
|
num_one = nums[0]
|
||||||
# # print(values)
|
num_two = num_one
|
||||||
# print(sum(values))
|
num_join = num_one + num_two
|
||||||
|
values.append(int(num_join))
|
||||||
|
else:
|
||||||
|
num_one = nums[0]
|
||||||
|
num_two = nums[-1]
|
||||||
|
num_join = num_one + num_two
|
||||||
|
values.append(int(num_join))
|
||||||
|
nums.clear()
|
||||||
|
# print(values)
|
||||||
|
# print(sum(values))
|
||||||
|
# print(numbers_as_integers)
|
||||||
|
|
||||||
# file.close()
|
file.close()
|
||||||
@ -1,7 +1,2 @@
|
|||||||
two1nine
|
9vxfg
|
||||||
eightwothree
|
eighthree
|
||||||
abcone2threexyz
|
|
||||||
xtwone3four
|
|
||||||
4nineeightseven2
|
|
||||||
zoneight234
|
|
||||||
7pqrstsixteen
|
|
||||||
Loading…
Reference in New Issue
Block a user