不管我觉得我知道正则表达式有多好,它们似乎总是打败我。
我正在寻找一种可以匹配任何字符串的通用模式。我能弄清楚如何处理所有这些不同的命名约定的唯一方法是制作一堆不同的正则表达式模式,现在我什至不确定是否所有数据都被拾取,所以我必须手动交叉检查它。
我只是想找出可能在两个括号 [ ] 内的任何内容:
elseif($line -match "\[\w*\d*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\d*\w*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\w*\d*_\w*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\w*\d*_*\w*-*\w*:*\w*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\w*_*\w*_*\w*_*\w*_*\w*_*\w*-*\w*\]") {
$pars = $matches[0]
}
我这样做的方式不会产生错误,但我不确定它是否能处理我可能遇到的所有情况。对于这么多数据,手动检查几乎是不可能的。
此外,如果有人知道生成正则表达式模式的强大实用程序,将不胜感激。我只能找到对我来说不是很有用的正则表达式测试器,并且对于使用 powershell 的正则表达式在线帮助很少。