首页 > 其他分享 >notepad++中的正则表示式使用方法

notepad++中的正则表示式使用方法

时间:2023-12-04 10:23:52浏览次数:39  
标签:字符 匹配 ++ notepad Za 转义 正则表达式 正则 任意

当使用 Notepad+中的正则表达式时,可以利用以下常用的元字符和语法规则来构建你的表达式:

正则表达式知识准备

字符匹配:

    • \d:匹配任意数字。
    • \w:匹配任意字母、数字或下划线。
    • \s:匹配任意空白字符(空格、制表符等)。
    • .:匹配除换行符外的任意字符。


重复次数:

    • *:匹配前一个元素零次或多次。
    • +:匹配前一个元素一次或多次。
    • ?:匹配前一个元素零次或一次。
    • {n}:匹配前一个元素恰好 n 次。
    • {n,}:匹配前一个元素至少 n 次。
    • {n,m}:匹配前一个元素至少 n 次且不超过 m 次。

字符类:

    • [abc]:匹配 a、b 或 c 中的任意一个字符。
    • [^abc]:匹配除了 a、b 和 c 以外的任意字符。
    • [a-z]:匹配任意小写字母。
    • [A-Z]:匹配任意大写字母。
    • [0-9]:匹配任意数字。

锚点:

    • ^:匹配行的开头。
    • $:匹配行的结尾。
    • \b:匹配单词的边界。

转义符

在正则表达式中,反斜杠(\)被用作转义符,它可以改变特殊字符的含义。当你需要匹配特殊字符本身而不是其具有的特殊含义时,可以使用转义符。

以下是一些常见的正则表达式中特殊字符及其转义示例:

  1. 点号(.):在正则表达式中,点号匹配除换行符外的任意单个字符。但如果你想要匹配一个真正的点号字符,你可以使用转义符进行转义:\.
  2. 反斜杠(\)本身:如果你想匹配一个反斜杠字符本身,你需要使用两个反斜杠来转义它:\\
  3. 方括号([]):方括号用于定义字符类别。如果你需要匹配一个真正的方括号字符,你可以使用转义符进行转义:\[或者\]
  4. 连字符(-):连字符用于指定字符范围。如果你需要匹配一个真正的连字符字符,你可以使用转义符进行转义:\-
  5. 问号(?)、星号(*)、加号(+)、花括号({})和圆括号(()):这些字符在正则表达式中具有特殊含义。如果你需要匹配它们本身而不是其特殊含义,你可以使用转义符进行转义:\?\*\+\{\}\(\)

这些是一些常见的转义示例。根据正则表达式引擎的不同,可能还有其他特殊字符需要转义。在编写正则表达式时,如果你想匹配一个特殊字符本身,请查阅相关的文档或参考资料,以确保正确使用转义符。

下面是一些正则表达式示例及其含义:

查找所有的数字:

    • 正则表达式:\d+
    • 解释:匹配一个或多个连续的数字。

 

查找以 "apple" 开头的行:

    • 正则表达式:^apple.*
    • 解释:以 "apple" 开头,后面可以有任意字符的行。

 

查找包含邮箱地址的文本:

    • 正则表达式:\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b
    • 解释:匹配常见的邮箱地址格式
  • \b: 表示单词的边界,确保匹配的电子邮件地址不包含在其他字符中。
  • [A-Za-z0-9._%+-]+: 匹配一个或多个大小写字母、数字、点、下划线、百分号、加号和减号的字符,用于匹配电子邮件地址的用户名部分。
  • @: 匹配电子邮件地址中的“at”符号。
  • [A-Za-z0-9.-]+: 匹配一个或多个大小写字母、数字、点和破折号的字符,用于匹配电子邮件地址的域名部分(例如:example.com)。
  • \.: 匹配一个点字符,用于分隔域名中的主机和顶级域。
  • [A-Za-z]{2,}: 匹配两个或更多大小写字母的字符,用于匹配电子邮件地址的顶级域名部分(例如:com、net、org等)。
  • \b: 再次表示单词的边界,确保匹配的电子邮件地址不包含在其他字符中。

 

查找重复的单词:

    • 正则表达式:\b(\w+)\b.*\b\1\b
    • 解释:匹配重复的单词(例如 "apple apple")。

总结

这些只是一些简单的正则表达式示例,正则表达式的功能非常强大且灵活。你可以根据具体需求和情况进一步学习和应用更复杂的正则表达式模式。同时,Notepad++ 还提供了实时匹配和高亮显示功能,可以帮助你调试和验证你的正则表达式。

标签:字符,匹配,++,notepad,Za,转义,正则表达式,正则,任意
From: https://www.cnblogs.com/chentiao/p/17874338.html

相关文章

  • 2.C语言和C++的几个标准(2023年12月4号)
    C语言和C++的区别C语言的设计理念:灵活、高效、性能极限C++的设计理念:面向对象为主 CPP:包含C语言(语法有微小差异)面向对象编程泛型编程STL标准模块库C++标准库 C语言是结构化语言:实例:我喜欢一个女孩C语言(......
  • C++中 enum 的使用
    C++中的枚举enum使用如果没有对应的范围限定,会很容易出现重定义的错误。如下的重定义错误,在一个文件中有如下两个枚举,编译时会出现重定义错误enumType{MIN_TYPE,MAX_TYPE,INPUT_TYPE};enumMode{CITY,INPUT_TYPE};此时虽然是不同的枚举类型,......
  • python 正则表达式总结
    python正则表达式总结#findall找出所有的,match从第一个字符开始找,fullmatch全句完全匹配,search从任意位置开始找text="jack最好,jack最好的,jack最好了,jack是最好的"pattern="jack最好"print(re.findall(pattern,text))输出:['jack最好',......
  • C++分解质因数代码实现
    一、问题描述:什么叫做分解质因数?就是我们给定一个数字,把这个数字的是质数的因子按照从小到大的顺序排列出来,并输出每个质因子的个数。二、实现思路:就是我们从1~n/i这个范围内(i*i=n),如果找到了一个因子,使得n%i==0,那么我们就进一步除下去,直到无法满足n%i==0为止。这个时候,i一定......
  • 深入理解C++继承(一)
    一、继承的概念及定义1.1继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复......
  • C++ 返回函数指针的函数
    目录0前言1FunctionPointerinC/C++type1.1ordinaryfunctionPointer1.2non-staticmemberfunctionofclass1.3LambdaToFunctionPointer1.4总结什么是指针2ReturningafunctionpointerfromafunctioninC/C++3.C-VariableArguments(Variablelengtharg......
  • 【Linux 基础】正则表达式 与 通配符 区别
    简短不看版:通配符和正则表达式比较(1)通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{}这4种,而正则表达式复杂多了。(2)*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个......
  • Qt/C++音视频开发57-切换音视频轨道/切换节目流/分别切换音频视频轨道
    一、前言对各种音视频文件格式的支持,是一个播放器的基础功能。一般的音视频文件只有1路流,比如音频文件只有1路音频流,视频文件只有1路音频1路视频流,实践过程中发现,还有一种ts格式的文件,可能有多路流,这种格式一般是将多路节目流封装到一个文件中,用户可以根据自己的需要切换不同的节......
  • 常用的正则表达式
    validator:function(rule,value,callback){if(/^1[3456789]\d{9}$/.test(value)===false){callback(newError('手机号格式错误'))}else{callback()}},v......
  • New Type Functions/Utilities for Dealing with Ranges in C++20
    GenericTypesofRanges  类型萃取从字面意思上来说其实就是帮助我们挑选某个对象的类型,筛选特定的对象来做特定的事。可以先来回顾一下以前的写法。#include<vector>#include<iterator>intmain(){std::vectorv{1,2,3};usingiterator_type=std::vecto......