正则表达式提取字符串中的特定元素

时间:2015-03-29 22:15:50

标签: python regex

我需要从以下字符串中提取BIN,跟踪和书籍识别号码。

BIN: 1234\nTracking #: 56789\nBook Identification #: 121212

我使用Python创建了一个正则表达式,允许我使用它来获取BIN编号。

^BIN:(.*) 

这允许我在BIN之后获得整个块,但是,我无法弄清楚如何获得BIN和其他项的值。

https://regex101.com/r/rK4gN4/1

2 个答案:

答案 0 :(得分:0)

<强> Live demo

试试这个正则表达式:

^BIN:\s?(\d+)\s?Tracking #:\s?(\d+)\s?Book Identification #:\s(\d+)

答案 1 :(得分:0)

您需要添加更多群组,例如:

^BIN:.*?(\d+).*?#:\s+(\d+).*?#:\s+(\d+)

我正在使用#作为开始查找跟踪和图书识别详细信息的点。请注意,与*?使用延迟匹配非常重要。

这是updated example on regex101

输出:

MATCH 1
1.  [5-9]   `1234`
2.  [22-27] `56789`
3.  [51-57] `121212`