这是我的正则表达式模式: [Ss]ection\s\d+(?![a-zA-z])(?!</ref>)
例如,它应匹配:section 5或section 50
例如,它应该不匹配:section 5A或section 5</ref>或section 5A</ref>或section 50A
问题是,实际上它与错误相符:http://regexr.com?33ien
虽然不确定这个模式有什么问题...
也许试试吧[Ss]ection\s\d++(?![a-zA-z])(?!</ref>).++是占有量词.这个量词类似于贪婪量词,除了它阻止它与正则表达式的后续部分使用时匹配的字符串片段.
例
System.out.println("ababab".matches("(ab)++ab"));
// prints false since last "ab" is possessed by (ab)++
Run Code Online (Sandbox Code Playgroud)