我的输入类似于以下内容:
TV-12VX
TV-14JW
TV-2JIS
VC-224X
我需要删除破折号码后面的所有内容。结果将是:
TV-12
TV-14
TV-2
TV-224
我如何通过正则表达式进行拆分?
答案 0 :(得分:3)
以下代码显示如何匹配“TV-”+(某个数字)形式的字符串:
>>> re.match('TV-[0-9]+','TV-12VX').group(0)
'TV-12'
(请注意,因为我使用的是match
,所以只有当字符串以您要提取的位开头时才有效。)
答案 1 :(得分:1)
我认为这个正则表达式适合你:(.+?-\d+?)[a-zA-Z]
。您可以将其与re.findall
或re.match
一起使用。
答案 2 :(得分:1)
import re
p = re.match('([\w]{2}-\d+)', 'TV-12VX')
print(p.group(0))
输出
TV-12
答案 3 :(得分:1)
您可以删除数字后的所有内容:
re.sub(r"^(\w+-\d+).*", r"\1", input)