我正在尝试从以下示例中提取两位数字:
19-AB-4444
2-24-123-5564
09-7-1234
09-1234-ABC
1-11-1234-CCC
结果将是:
19
24
09
09
11
我尝试使用无后顾之忧来做到这一点。请注意,将始终有一个两位数的数字,并且此值将始终跟随一些字符和一个四位数的数字。最多只能有一位两位数和一位最多四位数字。我只需要2位数字。
答案 0 :(得分:2)
要提取前两位数字,而与一行中的单词边界无关,可以使用此正则表达式:
^(?:(?!\d\d).)*(\d\d)
并抓住捕获的#1组作为您的目标比赛。
(?:(?!\d\d).)*
将匹配0个或多个右侧没有2位数字的字符。
但是,如果您按照所显示的格式格式化数据,则可以使用更简单的正则表达式:
\b\d\d\b
答案 1 :(得分:0)
除非Python的正则表达式支持真的很松懈,否则您应该只能与[0-9]{2}
进行匹配。这将与刚好出现的两个相邻数字完全匹配。