我正在尝试在Python中使用正则表达式来获取文本的某些部分。从文本中,我需要采用这种子字符串"2016-049172"。那么什么是等效的正则表达式?谢谢。
下面是一段代码:
import re
pattern = re.compile(r"s-s[0-9]+[0-9]$]")
my_string = 'Ticketing TSX - 2016-049172'
matches = re.findall(pattern,my_string)
print matches
当然,我的输出是空列表。(对于最初的坏帖子,我深表歉意,我是新来的)
正如其他人所发布的那样,您正在寻找的正则表达式是:
d{4}-d{6}
我将使用的完整代码:
import re
my_string = 'Ticketing TSX - 2016-049172'
matches = re.findall(r"d{4}-d{6}", my_string)
print matches
例如,如果第二个数字的长度从 6 到 8 位不等,则需要将正则表达式更新为此。
d{4}-d{6,8}
有关正则表达式和在 Python 中使用正则表达式的所有详细信息,请参阅文档
要使用的正则表达式是这样的:
d{4}-d{6}
更新您的示例代码,这将为您完成:
import re
pattern = re.compile(r"d{4}-d{6}")
my_string = 'Ticketing TSX - 2016-049172'
matches = re.findall(pattern,my_string)
print matches