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

  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\\.]+)\\)')
相关推荐
V1ncent Chen18 小时前
SQL大师之路 09 模式匹配(正则表达式)
数据库·sql·mysql·正则表达式·数据分析
程序员杰哥1 天前
Jmeter正则表达式提取器和JSON提取器基础用法
自动化测试·软件测试·测试工具·jmeter·正则表达式·json·测试用例
酱紫学Java2 天前
数据安全基础:正则表达式 (Regex) 从入门到实战
python·正则表达式
「QT(C++)开发工程师」2 天前
C++11 新特性 正则表达式、随机数库、元组
c++·正则表达式
椰猫子3 天前
正则表达式和爬虫
正则表达式
黑眼圈子4 天前
Java正则表达式基础知识
java·开发语言·正则表达式
怪侠_岭南一只猿6 天前
爬虫阶段一实战练习题:爬取豆瓣电影 Top250 复盘
css·经验分享·爬虫·python·学习·正则表达式
老师好,我是刘同学6 天前
Python正则表达式re模块全解析
python·正则表达式
灰色小旋风6 天前
力扣第十题C++正则表达式匹配
c++·leetcode·正则表达式