我正在开发一个小项目,在一组网页上搜索一些PII。特别是,我在正确地抓取页面以提取该人居住的状态方面存在一些困难。造成严重破坏的具体例子是印第安纳州。我的正则表达式搜索每个页面是否存在完整的州名或州名缩写。在这种情况下,由于Indiana的缩写为IN,因此返回了大量误报。所以我的不区分大小写搜索实际上是返回每个网页,因为'in'是一个常见的单词。是否有任何聪明的正则表达式或其他技术可以用来消除这种打嗝?我可以通过查找逗号后跟缩写来尝试匹配状态,但有时网页不包括逗号(即',IN')。有什么想法吗?
这是我的正则表达式。它查找状态fullname和该状态的缩写,由函数调用返回的键值对返回:
re.search(r'\b{0}\b|\b{1}\b'.format(state.strip(), stateDictionaryLookup(state.strip())), webpage, re.IGNORECASE)
答案 0 :(得分:0)
我知道没有完美的方法来轻松完成这项工作。你应该做什么取决于你想要的假阳性与假阴性的比例。
以下是一些可能有所帮助的观察结果:
,
,;
或.
,而不是单词in。,
,;
或.
,而找到前面的缩写应该不常见然后是,
,;
或.
。