6

我试图让正则表达式以负面的后视方式捕获一些数据,因此如果某个字符串在它之前,它将不匹配。我知道有两种基本格式,但都不起作用。我在搜索应用程序中执行此操作,并且不能使用 java 来扩充,因此解决方案必须纯粹使用 regex

这种格式给我一个错误,说“正则表达式语法错误:无效量词”

(?<!Product) Type : (.*?)<

这种格式是一种正常的后视,仅当 Type 前面是 Product 时才捕获:

(?!=Product) Type : (.*?)<

我究竟做错了什么?

4

1 回答 1

3
(?<!Product)[ ]Type[ ]:[ ](.*?)<

这应该做你想要的。您必须将空格括在括号中[]

它不会匹配:

Product Type : xyz<

但它会匹配并捕获xyz

Other Type : xyz<

于 2012-10-04T17:41:10.337 回答