import re
text = "我去臺中10天9夜,我去臺中10天九夜"
I have text like this.
res = re.findall(regex, text)
print(res)
# ["10天9夜", "10天九夜"]
I want to use regex to get the res like this. How can I get this res?
If I want to math ["10天9夜"], I can use re.findall("\d \天\d \夜", text), but it only match one.
CodePudding user response:
I suggest using
re.findall(r'(?:\d [^\W\d_] ) ', text)
See the regex demo, this pattern matches one or more consecutive sequences of digits and then letters.
Details:
(?:- start of a "container", a non-capturing group\d- one or more digits[^\W\d_]- one or more letters
)- end of the group, repeat one or more times.
