- 不允许出现某个单词,使用?!
(?!Pattern).\.matches
表示.matches之前的不能是Pattern - 非贪婪匹配,在匹配项后加?
matches\((.*?)\)
这里在.*后加问号,表示尽可能少的匹配。 - \w表示字母、数字和下划线
- 防范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\\.]+)\\)')
文章来源地址https://www.toymoban.com/news/detail-833072.html
文章来源:https://www.toymoban.com/news/detail-833072.html
到了这里,关于正则表达式的一些高级用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!