我一直在用一个多小时的表情敲打我的头,但没有结果。所以是时候寻求帮助了。
在以下(多行)文本中:
Waltzes vol 15
Waltzes vol. 15
华尔兹卷。华尔兹第15卷第 15 卷:
华尔兹
粗体部分是我迄今为止提出的正则表达式的匹配项:
(?!^),*\s*(?:vol[ume]*\.*)\s*(?=[0-9A-Z]+)
所有的都是正确的,除了最后一个,因为它在一行的开头,所以不应该包括在内。
据我可以从http://www.regular-expressions.info/refadv.html的文档中得知,表达式中的(?!^)
环视部分应排除,*\s*(?:vol[ume]*\.*)\s*(?=[0-9A-Z]+)
在行首找到的匹配项,但这并不似乎工作。
另一方面,表达式(?!^)op[us]*\.*\s*(?=[0-9]+)
可以正常工作,并且不会在以下文本的最后一行返回匹配项:
Waltzes op。
华尔兹15首,作品15
作品 15:华尔兹
第一个表达我做错了什么?