1

我有以下形式的字符串

[Identifier][Keyword][Number]Text

其中 identifier 是\w*, Keyword 是, 或之一Button, Number 是, text 是文字。我正在尝试匹配不符合此模式的字符串。LinkText[0-9]*Text

我想匹配的例子:

  • 我的标识符
  • 我的标识符文本
  • 我的标识符按钮
  • 我的标识符按钮 1
  • 按钮
  • 按钮1
  • 文本

我不想匹配的示例:

  • 按钮文本
  • MyIdentifierButtonText
  • 按钮1文本
  • MyIdentifierButton1Text
  • 文本文本
  • 文本1文本

我想出了这个:

^\w*(?:(?<!Button)|(?<!Link)|(?<!Text))[0-9]*(?<!Text)$

这是正确的,但它与以下内容不匹配:

  • 文本
  • 我的标识符文本

我知道问题出在第一次向后看,但我不确定如何解决它。我已阅读内容并没有帮助,但该问题在回溯之前也没有通配符。

4

0 回答 0