gpt4 book ai didi

regex - 使用RegEx和Powershell在文档中查找人的名字

转载 作者:行者123 更新时间:2023-12-03 01:29:10 26 4
gpt4 key购买 nike

我有一份Word文档列表,我必须进行搜索。

通常,文档将被匿名化,以便用单个字符替换姓氏和姓氏。

任务是发现文档未匿名的位置以及文本中有人的名字。

例如,此文本可以接受:
X先生遇到了一个问题。

此文本也可以接受:
Y先生和太太遇到了问题。

但是,此文本 Not Acceptable :
琼斯先生遇到了一个问题。
或这个 ..
琼斯先生和太太遇到了问题。

我想我可以获得可能的职务 list (先生,夫人,医生等)

因此,我想构造一个RegEx表达式,该表达式将捕获TITLE的出现,后跟两个或更多个字母字符。

我正在使用支持RegEx的Powershell Select-String小程序。
到目前为止,我有这个脚本:

$Search = "Mr[ ][A-Z][A-Z]"
$aryfiles = Get-Content "K:\Echo Maintenance\Scripts\SORDocSearch\filelist.csv"
Foreach ($file in $aryfiles) {

If (Get-Content $file | Select-String -Pattern $Search) {
$file
Get-Content $file | Select-String -Pattern $Search
}
}

这是RegEx表达式“Mr [] [A-Z] [A-Z]”,我很需要帮助,因为不幸的是,这与X先生和夫人匹配,“和”一词被解释为一个名称。

最佳答案

如果您希望使用2个字母字符a-z进行匹配,则可以尝试使用2个字符类以及一个可选的非捕获组。

\bMr (?:and Mrs )?[A-Z][a-z]\w*

Regex demo

对于标题,您可以使用替换来匹配不同的选项 (?:Mrs?|Doctor)
或更广泛地匹配大写字母并匹配任意一种字母1倍以上的字符:
\bMr (?:and Mrs )?\p{Lu}\p{L}+

Regex demo

关于regex - 使用RegEx和Powershell在文档中查找人的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59861008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com