四时宝库

程序员的知识宝库

你知道python正则表达式如何跨行匹配吗?

正则表达式在文本匹配、模式匹配、数据清洗、表单验证、日志分析等场景下有着广泛的应用,不管你是开发人员、测试人员,或者其他任何行业从业者,只要你有处理文档的需求,掌握一点正则表达式可能会让你的工作效率大大提升。

.默认不匹配换行符

JavaScript——正则 断言匹配(条件匹配)

1、断言匹配(条件匹配)

<div>佳佳不断分享视频教程,学习佳佳教程提升编程能力。</div>
let str = document.querySelector('body div');
let reg = /佳佳(?=教程)/g;
str.innerHTML = str.innerHTML.replace(reg,`<a href="http://www.baidu.com"></a>`)

leetcode题解系列-009 正则表达式匹配

老规矩,先上代码,后面有解题思路。

//
// Created by tannzh on 2020/6/16.
//
/*
 * 正则表达式匹配
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。

'.' 匹配任意单个字符
'*' 匹配零个或多个前面的那一个元素
所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。

说明:
s 可能为空,且只包含从 a-z 的小写字母。
p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。
示例 1:

输入:
s = "aa"
p = "a"
输出: false
解释: "a" 无法匹配 "aa" 整个字符串。

 示例 2:
输入:
s = "aa"
p = "a*"
输出: true
解释: 因为 '*' 代表可以匹配零个或多个前面的那一个元素, 在这里前面的元素就是 'a'。因此,字符串 "aa" 可被视为 'a' 重复了一次。

示例 3:
输入:
s = "ab"
p = ".*"
输出: true
解释: ".*" 表示可匹配零个或多个('*')任意字符('.')。

示例 4:
输入:
s = "aab"
p = "c*a*b"
输出: true
解释: 因为 '*' 表示零个或多个,这里 'c' 为 0 个, 'a' 被重复一次。因此可以匹配字符串 "aab"。

示例 5:
输入:
s = "mississippi"
p = "mis*is*p*."
输出: false

 */

#include <string>
#include <iostream>

using namespace std;

class Solution {
public:
    bool isMatch(string s, string p) {
        if(p.empty()) return s.empty();

        if (p[1] == '*') {
            return (isMatch(s, p.substr(2)) || (!s.empty() && (s[0] == p[0] || p[0] == '.') && isMatch(s.substr(1), p)));
        } else {
            return !s.empty() && (s[0] == p[0] || p[0] == '.') && isMatch(s.substr(1), p.substr(1));
        }
    }
};

int main(int argc, char **argv)
{
    Solution s;
    std::string s1 = "aa", p1 = "a";
    std::string s2 = "aa", p2 = "a*";
    std::string s3 = "ab", p3 = ".*";
    std::string s4 = "aab", p4 = "c*a*b";
    std::string s5 = "mississippi", p5 = "mis*is*p*.";

    std::cout << s.isMatch(s1, p1) << std::endl;
    std::cout << s.isMatch(s2, p2) << std::endl;
    std::cout << s.isMatch(s3, p3) << std::endl;
    std::cout << s.isMatch(s4, p4) << std::endl;
    std::cout << s.isMatch(s5, p5) << std::endl;
}

「PHP」短信接口(正则匹配)(php发送验证码)

本篇文章主要介绍的是用正则匹配来实现短信接口的匹配,感兴趣的朋友可以了解一下。

第一步 登陆/注册微米短信平台 https://www.weimi.cc

注册成功后系统会赠送10条测试短信

第二步 查看实例代码 以及 开发文档(认真观看) 参数很重要

如图 开发实例(php) 和 开发文档

正则表达式匹配IP地址(正则匹配ipv4)

首先分析ip地址的特征:255.255.255.255,前三位的数字处理基本一致

1位: 0-9 \d

2位:10-99 [1-9]\d

3位:100-199 1\d\d

3位:200-249 2[0-4]\d

3位:250-255 25[0-5]

「正则表达式」 匹配多个字符(正则表达式匹配多个字符串)



1. 匹配多个字符

代码功能*匹配前一个字符出现0次或者无限次,即可有可无+匹配前一个字符出现1次或者无限次,即至少有1次?匹配前一个字符出现1次或者0次,即要么有1次,要么没有{m}匹配前一个字符出现m次{m,n}匹配前一个字符出现从m到n次

LeetCode-010-正则表达式匹配(正则匹配结果)

正则表达式匹配

题目描述:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。

Redis 敢在线上做Keys正则匹配操作!你可以离职了!

正文

一条铁律

在业内,redis开发规范中有一条铁律如下所示

Redis 敢在线上做Keys正则匹配操作!你可以离职了

原创: 孤独烟

一个新闻

新闻内容如下

php工程师执行redis keys * 导致数据库宕机

某公司技术部发生2起本年度PO级特大事故,造成公司资金损失400万,原因如下:

由于php工程师直接操作上线redis,执行

<< < 1 2 >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接