我正在尝试解析一个痕迹并让它对大多数部分(在其他正则表达式中)都有所怀疑 - 除了第三个数据字符串之外的所有部分。
示例面包屑 半导体 - IC&gt;数据&amp; <信号转换> <数模转换器(DAC)&gt;产品视图
对于此实例,面包屑必须包含“产品视图”以及 3大于标志。在这些条件下,我需要在第二个&gt;之后的文本。注册但不包括以下&gt;
在这个例子中,它将是'数模转换器(DAC)'
这个正则表达式有效,除了它包括大于'数字到模拟转换器(DAC)&gt; '
^([^>]*>){3}[^>](.*)(Product View)$
请有人帮忙吗?
答案 0 :(得分:1)
您可以使用
^(?:[^>]*\s*>){2}\s*([^>]*?)\s*(?:$|>)
请参阅demo
此处,^
匹配字符串的开头,(?:[^>]*\s*>){2}
匹配除>
以外的0个或更多字符的2次出现,后跟可选的空格,然后\s*
匹配可选空格,然后([^>]*?)
匹配并捕获除>
以外的0个或多个字符,直到字符串末尾或下一个>
。