1.为什么需要向前查找和向后查找
为了表达“只有当单词Star后跟单词Training时才匹配Star”的意图,思路向前查找 star(?= Training) star(?= Training\b)
2.(?元字符
(?元字符之前和之后的字符不会被捕获
(?:...) 非捕获组
(?=...) 肯定式向前查找 sentence(?=.*senquence.*\.) 匹配字符序列sentence,并且在同一个句子中还跟有字符序列sequence
(?!...) 否定式向前查找 Star(?! Training)匹配字符序列Star,但这个字符序列后不紧跟一个空格符和另一个字符序列Training
(?<=...) 肯定式向后查找 (?<=Dr. )Jekyll
(?<!...) 否定式向后查找
3.如何匹配位置
(Andrew)(s)(?=\b) 匹配一个前面是Andrew字符序列,后面是字符s的位置