0

我想在 Lotus notes 的收件箱中搜索可能存在于邮件正文中的任何 IP 地址。我假设在搜索时应该使用一些带有通配符的正则表达式。

提前感谢您的任何帮助。

4

2 回答 2

1

Lotus Notes 客户端中不包含“开箱即用”的正则表达式搜索。遗憾的是,Notes 全文搜索不支持搜索例如 IP 地址。

你必须写一个代理。

最简单的方法是 Java 代理,它将每个(选定的)文档的项目的仅文本部分Body读取为字符串,并使用java.util.regex.Matcher. 在 Google 中查找“regex IP address java”,您会发现很多很好的示例代码。

您还可以编写一个 LotusScript 代理。这是一个开始的例子。

@Like@Matches和 operator like不允许您准确找到 IP 地址,所以为什么不尽可能使用正则表达式。

于 2013-10-10T06:23:55.417 回答
1

Lotus Notes 中至少有两个^H^H^H 三个类似正则表达式的引擎,但没有一个引擎能像常见的POSIX工具那样强大。具体来说,您不能[0-9]{1,3}在其中任何一个中使用(用于 1-3 位数字)之类的结构。

  • LotusScript like运算符:对 LotusScript 中的字符串进行操作。不如@Matches 强大,例如,您不能表达任何数量的 Bs 之类的东西。
  • 公式语言@Matches功能:稍微强大一些,例如您可以使用析取和连词。
  • 公式语言@Like函数。其中最简单的 - 本质上是字符串与单个和多个字符的通配符匹配。

为了解决您的特定问题(假设您想要查看正文包含 IP 地址的所有文档),我将使用@Match并编写一个匹配的模式+{0-9}{0-9}.+{0-9}{0-9}.+{0-9}{0-9}.+{0-9}{0-9}- 这是对匹配四组由点分隔的数字的要求的放宽。这将匹配 ip 地址,但也匹配12345.12151315.141241.1421.

于 2013-10-10T07:08:51.960 回答