-1

抱歉,如果该标题不能完全解释我的问题。昨天有人好心指出如何从这里到达:

(?<STREET>(?!The|Long)\w+ Drive)

这给了我这样的结果

  • 街道:他开车

通过使用单词边界:

?(?!The|Long)\b\w+ 驱动器)

这就像一个魅力(STREET 返回不匹配'The Street')但是我现在面临的问题是,虽然我正在寻找'Drive'的 1 个单词前缀并且我有 1 个单词排除项,但我无法弄清楚如何使排除时间更长。例如

  • 英里驱动器

很好但是

  • 一英里驱动器
  • 快速英里驱动器

不是。这实际上只是一个例子,而不是试图解决这个特定的例子;如何从模式的单个单词部分中排除术语与单词。

4

1 回答 1

1

如果您想匹配一个或多个单词,只需使用分组和加号:

(?<STREET>(?!The|Long)(\b\w+ )+Drive)

as plus+匹配一个或多个。或者,如果您要匹配一定数量的单词,请尝试使用{}例如匹配 1 到 4 个单词,请使用:

(?<STREET>(?!The|Long)(\b\w+ ){1,4}Drive)
于 2014-05-24T17:48:22.083 回答