我有一个多行字符串,如下所示:
2012-15-08 07:04 Bla bla bla blup
2012-15-08 07:05 *** Error importing row no. 5: The import of this line failed because bla bla
2012-15-08 07:05 Another text that I don't want to search...
2012-15-08 07:06 Another text that I don't want to search...
2012-15-08 07:06 *** Error importing row no. 5: The import of this line failed because bla bla
2012-15-08 07:07 Import has finished bla bla
我想要的是借助正则表达式(使用 PowerShell)提取所有有错误的行号。所以我需要找到“*** Error importing row no.”和下面的“:”之间的数字,因为这总是给我行号。
我查看了其他各种正则表达式问题,但说实话,答案对我来说就像中文。
尝试在以下帮助下构建正则表达式http://regexr.com/ http://regexr.com/但到目前为止还没有成功,例如使用以下模式:
"Error importing row no. "(.?)":"
有什么提示吗?
试试这个表达式:
"Error importing row no\. (\d+):"
DEMO https://regex101.com/r/qR4uN3/1
这里需要了解量词和转义序列:
-
.
任何字符;因为你只想要数字,所以使用\d
;如果您指的是句点字符,则必须使用反斜杠将其转义(\.
)
-
?
零个或一个字符;这不是你想要的,因为你可能会在第 10 行出现错误,并且只需要“1”
-
+
一个或多个;这对我们来说就足够了
-
*
任意字符数;使用时必须小心.*
因为它会消耗你的全部输入
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)