设置字符串之间的匹配数字

时间:2013-11-11 17:34:37

标签: regex

我正在尝试匹配两个字符串之间的ID号。字符串看起来像:

Ticket - Subject: opoipoipo |==Ticket ID: 7==|

该数字很容易为5位数

我试过

(?<=is \|==Ticket ID:)(.*?)(?=\s*\)==|

我认为我离我很远,但我显然做错了什么。这个想法是我只想说7而不是更多。

3 个答案:

答案 0 :(得分:0)

你肯定很接近,我认为以下应该这样做:

(?<=\|==Ticket ID:)(.*?)(?===\|)

这里没有处理的唯一部分是你会得到任何有空值的空格,但这应该很容易剥离。我没有在正则表达式中包含它的唯一原因是因为许多实现不支持可变长度的lookbehind,因此将\s*放在lookbehind的末尾可能不起作用。如果您知道总会有一个空格,则可以使用以下内容:

(?<=\|==Ticket ID: )(.*?)(?===\|)

答案 1 :(得分:0)

试试这个正则表达式:

(?<= \|==Ticket ID: )(.*?)(?=\s*==\|)

现场演示:http://www.rubular.com/r/E74dIhmYiH

答案 2 :(得分:0)

你的解决方案肯定很接近。考虑对您的正则表达式进行以下微小更改...

(?<=\|\=\=Ticket ID:).*?(?=\s*\=\=\|)

祝你好运!