3

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

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

该号码很容易达到 5 位数字

我试过了

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

我不认为我离得很远,但我显然做错了什么。这个想法是我只想让它说 7,仅此而已。

4

3 回答 3

0

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

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

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

(?<=\|==Ticket ID: )(.*?)(?===\|)
于 2013-11-11T17:39:03.960 回答
0

试试这个正则表达式:

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

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

于 2013-11-11T17:39:12.510 回答
0

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

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

祝你好运!

于 2013-11-11T17:46:24.440 回答