2

这应该是一个非常简单的问题,或者我是这么认为的。以下是正文:

MSYSID : 00014000 (TC1 Gen2)
PCIE   : x4ab     (neg: x4/x4)
TCID   : d7151210 (344017 @ 07/15/13 12:10)
SLOT   : 1

我想匹配 TCID 之后的所有字符串。这个正则表达式应该可以工作:

(?<=TCID\s+:\s+).+

它有适当的后视和匹配字符串,但它没有,我不明白为什么。任何人都可以找到错误吗?我正在使用正则表达式来验证它。

谢谢你。

4

2 回答 2

2

((?<=TCID\s{3}:\s)).+

问题是通配符不能与后视一起使用。因为通配符必须是固定长度的。

于 2013-08-14T05:44:31.967 回答
0

看看这里的 Python 专栏。 TCID\s+:\s(\w.+)$如果您可以获得匹配的捕获部分((\w.+))并设置为在换行符处匹配 ^$ ,则应该可以工作。

我不相信Regexpal可以处理后视(许多风格不能),并且 Python 有一个限制,即后视必须是固定长度。如果您可以获得匹配的捕获部分,则不需要后视。

于 2013-08-14T05:40:15.227 回答