regex - 使用 RegEx 和 Powershell 在文档中查找人员姓名
问题描述
我有一个word文档列表,我必须搜索。
通常该文档将被匿名化,以便用单个字符替换名字和姓氏。
任务是找出文档未被匿名的地方以及文本中某人的名字。
例如,这个文本是可以接受的:X 先生遇到了问题。
此文本也可以接受:Y 先生和 Y 夫人遇到了问题。
然而,这个文本是不可接受的:琼斯先生遇到了一个问题。或者这个..琼斯先生和夫人遇到了一个问题。
我想我可以获得一份可能的头衔列表(先生、夫人、医生等)
因此,我想构造一个 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
}
}
这是正则表达式“Mr[ ][AZ][AZ]”我需要帮助,因为不幸的是这匹配 Mr 和 Mrs X,'and' 词被解释为一个名字。
解决方案
推荐阅读
- python - 在 Pandas Concat pd.concat 的生成器中打印文件名
- machine-learning - LDA genism 仅使用 16 个核心中的一个
- python - 偏差方差权衡内存错误python
- youtube-api - Youtube Data API 返回无效数据
- bootstrap-4 - 重新排列响应式 Bootstrap 4 网格布局
- php - 垂直对齐的静态/引导问题
- c# - Csharp交换字符串中的动态值
- excel - 根据 put 中的其他列更改列的颜色
- dart - 带有堆栈的 Flutter 自定义剪裁器无法正常工作
- java - 尝试将时间戳转换为数据类型为 int 的时间