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

  1. 不允许出现某个单词,使用?!
    (?!Pattern).\.matches
    表示.matches之前的不能是Pattern
  2. 非贪婪匹配,在匹配项后加?
    matches\((.*?)\)
    这里在.*后加问号,表示尽可能少的匹配。
  3. \w表示字母、数字和下划线
  4. 防范redos攻击,可使用Cyber-Redos-Terminator检查开发使用的正则表达式。java代码里排查可能的redos攻击,可使用下面三个正则式:
python 复制代码
    REG_CALL_PAT1 = re.compile("Pattern\\.compile\\((.*)\\)")
    REG_CALL_PAT2 = re.compile("Pattern\\.matches\\((.*),.*\\)")
    REG_CALL_PAT3 = re.compile('(?!Pattern).\\.matches\\((".*"|[\\w\\.]+)\\)')
相关推荐
Jay_See25 分钟前
正则表达式
正则表达式
潘yi.30 分钟前
Shell编程之正则表达式与文本处理器
linux·运维·正则表达式
一只拉古3 小时前
使用正则表达式解决问题:从 LeetCode 到生产环境
后端·正则表达式·代码规范
眠修8 小时前
Shell 编程之正则表达式与文本处理器
正则表达式
XU磊26021 小时前
正则表达式反向引用的综合应用魔法:从重复文本到简洁表达的蜕变
正则表达式
TOWNST2 天前
正则表达式使用知识(日常翻阅)
java·python·正则表达式
XU磊2602 天前
深入 Java 正则表达式源码:透视 Matcher.group(int) 的分组提取机制
正则表达式
斯内科4 天前
Python进阶(1):正则表达式
python·正则表达式
程序员总部4 天前
Python中如何用正则表达式精准匹配IP地址?
python·tcp/ip·正则表达式
王小二_Leon4 天前
JAVA中正则表达式的入门与使用
java·正则表达式