ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

正则表达式的一些高级用法

2026/9/28 8:50:25 拓冰建站 浏览量
正则表达式的一些高级用法
  1. 不允许出现某个单词,使用?!
    (?!Pattern).\.matches
    表示.matches之前的不能是Pattern
  2. 非贪婪匹配,在匹配项后加?
    matches\((.*?)\)
    这里在.*后加问号,表示尽可能少的匹配。
  3. \w表示字母、数字和下划线
  4. 防范redos攻击,可使用Cyber-Redos-Terminator检查开发使用的正则表达式。java代码里排查可能的redos攻击,可使用下面三个正则式:
    REG_CALL_PAT1 = re.compile("Pattern\\.compile\\((.*)\\)")REG_CALL_PAT2 = re.compile("Pattern\\.matches\\((.*),.*\\)")REG_CALL_PAT3 = re.compile('(?!Pattern).\\.matches\\((".*"|[\\w\\.]+)\\)')