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

  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\\.]+)\\)')
相关推荐
gnip7 小时前
总结一期正则表达式
javascript·正则表达式
77qqqiqi9 小时前
正则表达式
java·后端·正则表达式
人生在勤,不索何获-白大侠2 天前
day15——Java常用API(二):常见算法、正则表达式与异常处理详解
java·算法·正则表达式
虎皮辣椒小怪兽2 天前
正则表达式
正则表达式
Hilaku2 天前
用“人话”讲明白10个最常用的正则表达式
前端·javascript·正则表达式
feifeigo12312 天前
Java 正则表达式高级用法
java·mysql·正则表达式
决战软件之巅16 天前
Python 正则表达式
正则表达式
小浪学编程16 天前
C#学习13——正则表达式
学习·正则表达式
yuanyxh17 天前
《精通正则表达式》精华摘要
前端·javascript·正则表达式
red润18 天前
被转义字符麻痹的一天:理解转义字符串
前端·javascript·正则表达式