我有以下形式的字符串
[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)$
这是正确的,但它与以下内容不匹配:
- 文本
- 我的标识符文本
我知道问题出在第一次向后看,但我不确定如何解决它。我已阅读此内容并没有帮助,但该问题在回溯之前也没有通配符。