我的问题类似于下面的问题,但我想更复杂。
How to extract the number in the string “Task(12345)” with Regular Expression and Powershell?
我需要从中提取数字的文字如下:
************************
multi-line bulk texts
************************
Change 11111 on 2013/12/09 by someone
************************
multi-line bulk texts
************************
Change 22222 on 2013/12/09 by someone
************************
multi-line bulk texts
************************
Change 33333 on 2013/12/09 by someone
************************
multi-line bulk texts
************************
Change 33333 on 2013/12/09 by someone
************************
multi-line bulk texts
************************
...[etc. same pattern]
批量文本可以包含任何字符,但我对它不感兴趣。我需要提取的是更改号码(11111,22222,...)并将它们存储在变量或输出到文本文件中。
有人可以指导我完成吗?我已经测试了一堆正则表达式,但还没有运气:(
谢谢,
答案 0 :(得分:0)
我不熟悉.net或powershell,但你可以使用这个正则表达式:
(\d)\1+
或者如果数字总是这个长度
(\d)\1{4}
请查看此网站以获取有关此特定表达的说明。 http://regex101.com/r/gN9vM4 也适用于尝试新的东西
答案 1 :(得分:0)
除非文件很大,否则您可以使用链式匹配-replace操作立即执行整个文件:
$regex = '^Change\s(\d+)\son.+'
(get-content file.txt -r 0) -match $regex -replace $regex,'$1'
答案 2 :(得分:0)
这样做的方法很多......我建议如下:
\d+(?=.*\d{4}(?:\/\d{2})*\sby\s\w+)
比赛结束后,由哪人检查“2013/12/09”。