测试案例:
22 s # 22
1.4 I # 1.4
4.4.5 Apple # 4.4.5
1993 # 1993
我想要的就是[A-z]或[a-z]
之前的一切由于
答案 0 :(得分:1)
试试这个正则表达式:
r'^[^a-zA-Z]+'
答案 1 :(得分:1)
我怀疑你不想包含尾随空格,所以匹配“22 s”会给你“22”而不是“22”:
>>> regex = r"^([^A-Za-z]+?)\s*(?:[A-Za-z]|$)"
>>> for input, expected in [
... ("22 s", "22"),
... ("1.4 I", "1.4"),
... ("4.4.5 Apple", "4.4.5"),
... ("1993", "1993"),
... ("1993 ", "1993"),
... ("1 2 3 a", "1 2 3"),
... ("1 2 3 ", "1 2 3"),
... ]:
... assert re.match(regex, input).group(1) == expected
...
>>> # no AssertionError means success
或者,之后你可以匹配“^([^ A-Za-z] +)”和rtrim。