正则表达式真的不是我的强项,我正在努力学习。目前正在努力解决这个问题。
<fraglink id="230681395" resid="1057000484">
我有一个包含大量文本的文件,并且不时出现如上所示的位。我想在resid=
之后的引号之间得到数字。
这里需要某种先行/后退吗?
答案 0 :(得分:2)
看起来你想要一个正则表达式:
resid="([0-9]+)"
抓住$1
。
答案 1 :(得分:1)
由于您的内容看起来像XML,因此您应该不要使用正则表达式来获取所需的值。如果您共享整个文件,我们将向您展示如何使用XPath正确选择值。
但是,如果您想将正则表达式用于培训目的,请尝试以下方法:
$content = Get-Content 'your_file_path' -raw
[regex]::Match($content, '\bresid="([^"]+)').Groups[1].Value
答案 2 :(得分:0)
使用前瞻((?<=pattern)
),您的模式可能如下所示:
(?<=resid=")\d+
使用Regex.Match()
:
$id = [regex]::Match($inputString,'(?<=resid=")\d+').Value