记不住的正则
exp1(?=exp2) 查找exp2前面的exp1 // 前瞻:
(?<=exp2)exp1 查找exp2后面的exp1 // 后顾:
exp1(?!exp2) 查找后面不是exp2的exp1 // 负前瞻:
(?<!exp2)exp1 查找前面不是exp2的exp1 // 负后顾:
(?:)
表示非捕获分组,和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来,也就无法用%1 $1 1等关键词调用,需要用到括号又不想因此干扰结果的情况下很好用
regex | × | √ |
---|---|---|
ab+c(*和?同理) | abababc | abbbbbbbc |
ab{2} | abab | abb |
a|123 | a23 | a或者123 |