`

正则表达式

阅读更多

 

正则表达式使用:

  常用规则:

  

一、常用特殊字符:
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
.  匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。
[ ]  标记一个中括号表达式的开始。要匹配 [,请使用 \[。
?  匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
\   将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。
^  匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。
{ }   标记限定符表达式的开始。要匹配 {,请使用 \{。
|   指明两项之间的一个选择。要匹配 |,请使用 \|。


二、常用限定符:
*  +  ? {m }{m,n} 
三、默认最长匹配 ,最短匹配需要添加? 

 

 python使用:

 

#!/usr/bin/python
# _*_ coding:  UTF-8 _*_
from pip._vendor.requests import structures
from time import strftime
import datetime,time
import re


def format():
    str='version'
    num=1.0
    format="字符串为:%s"%str
    
    print(format)
    print("字符串为%s  版本为:%d"%(str,num))
    word="\thello world \n "
    print("  直接输出:",word)
    print("rstrip() 后输出:",word.rstrip()) 
    print(" strip() 后输出:",word.strip()) 
    print(" strip() 后输出:",word.lstrip()) 

#= !=字符串比较  endswith  startswith split   join ,find ,rfind ,replace 
def join():
    str="hello , 你好,china"
    str2=" word "
    str2="hello"
    print(str+" "+str2 )
    
    strs=["hello "," word " ," china"]
    print("".join(strs))
    
    print(str[4])
    print(str[1:3])
    
    print(str.split( ","))
    print("分割后的字符串类型:", type(str.split( ",") ))
    
    print(str.startswith("hello"))
    str.endswith( )


def reverse():
    str="my name is wangzt"
    out=""
    li=list(str)
    print(li)
    
    li.reverse()
    out="".join(li)
    
#     for i in range(len(li) , 0 , -1 ):
#         out += "".join( li[i-1])
#         out+=li[i-1]
        
    print(out)
#strftime时间到字符串         strptime字符串到时间
def timeAndStr():
    #时间到字符串的转换
    print(time.strftime("%Y-%m-%d" , time.localtime()))
    
    k=(1,2,3)
    print( type( k ))
    
    #字符串转换为时间
    t=time.strptime("2018-9-9", "%Y-%m-%d")
    t2=time.mktime( t)#时间的元组转换为时间戳
    print( t2 )
    print(time.ctime( t2 )  )#毫秒时间戳转换为时间类型
    
    print(time.localtime()[:6]  )

#正则表达式查找比较费时 ,如果多次查找用compie编译返回pattern对象然后在匹配
def testZZ():
    s="HELLO WORD"
    s2="你好 WORLD2"
    print(re.findall(r"^hello", s ))   
    print(re.findall(r"^hello", s,re.I ))   #hello开头的单词
    print(re.findall("word$", s,re.I ))   #word结束的单词
    print(re.findall(r"\b\w+\b", s,re.I ))   #匹配所有单词
    
    #替换功能
    print(re.sub("HELLO", "hi",s ))    
    print(re.sub("HELLO", "hi", s[-4:] ))    
    
    #subn使用
    print("匹配字母数字:"+ re.sub(r"\w", "hi", s2 ))
    print("subn 匹配字母数字:"+ str(re.subn(r"\w", "hi", s2 )   ) )#返回 带有匹配次数 元组 
    
    #
    p=re.compile(r"(abc)\1")
    m=p.match("abcabcabc")
    print(m.group(0))
    print(m.group())
    print(m.groupdict().keys( ))
    print(m.groupdict().values( ))
    print(m.re.pattern )
    
if __name__ == '__main__':
#     format()
#     join()
#     reverse()
#     timeAndStr()
    testZZ()
    
    
    
    

 

分享到:
评论

相关推荐

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...

    正则表达式大全 - 收集的最常用正则表达式

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串。它通过预定义的模式来识别和操作字符串中的数据。以下是一些常见的正则表达式及其用途: 1. 匹配中文字符:`[u4e00-u9fa5]` - 这个正则...

    正则表达式转换工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...

    PB实现的正则表达式

    在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...

    C语言正则表达式库

    C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...

    易语言正则表达式文本替换

    例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

    Java使用正则表达式提取XML节点内容的方法示例

    Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...

    正则表达式在数据库查询中的应用

    ### 正则表达式在数据库查询中的应用 #### 引言 在数据库管理与应用程序开发中,查询数据是一项常见的任务。传统的SQL查询虽然强大,但在处理复杂查询时可能存在一定的局限性,尤其是涉及到文本数据的模式匹配时。...

    易语言正则表达式匹配中文

    在易语言中,正则表达式是进行文本处理、数据提取和搜索的关键工具,尤其在处理中文字符时显得尤为重要。本文将深入探讨易语言中的正则表达式匹配中文的原理、方法以及应用。 正则表达式(Regular Expression)是一...

    正则表达式调试工具

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索替换和文本处理等领域。正则表达式调试工具是开发人员用来测试和优化这些模式的重要辅助工具。本文将...

    VC、VC++,MFC 正则表达式类库

    正则表达式类库则为VC++和MFC的开发者提供了对正则表达式功能的支持。 "VC、VC++,MFC 正则表达式类库"指的是在MFC中实现或集成的正则表达式处理模块。这个库通常包含一系列的类和函数,允许程序员编写符合特定模式...

    易语言正则表达式类匹配中文

    在易语言中,正则表达式类是一个非常重要的工具,用于处理字符串的模式匹配和查找。在处理中文文本时,这个功能尤为关键,因为中文字符的编码和处理方式与英文有所不同。 正则表达式是用于匹配字符串模式的一种强大...

    正则表达式测试工具C#版(src)

    正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...

    c++写的正则表达式验证工具

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。C++作为一种通用编程语言,虽然标准库中没有内置正则表达式支持,但通过第三方库如Boost,我们可以很方便地在...

    通过正则表达式生成数据

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串的模式匹配。在本主题中,我们将深入探讨如何使用正则表达式来生成满足特定条件的随机数据。这在...

    C#正则表达式大全, 判断字符串是否为正整数,中文,英文.....

    C# 正则表达式大全 正则表达式是指用来描述字符串模式的表达式,通过使用正则表达式,我们可以轻松地实现字符串的匹配、验证、提取和替换等操作。在 C# 中,我们可以使用 System.Text.RegularExpressions 命名空间...

    C正则表达式库

    在IT领域,正则表达式库是用于处理字符串匹配、搜索和替换的重要工具。在C语言环境中,GUN(GNU)提供了一个官方的正则表达式库,这使得C程序员可以方便地在他们的应用程序中利用正则表达式的强大功能。本篇文章将...

    根据正则表达式生成满足正则的数据

    在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配字符串模式。它们广泛应用于数据验证、搜索、替换等操作。本话题主要关注如何根据正则表达式生成满足该模式的数据,这在测试、数据...

    详解Java判断是否是整数,小数或实数的正则表达式

    在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...

Global site tag (gtag.js) - Google Analytics