regular expression

Dec 03, 2016 am 10:30 AM
python regular expression

正则表达式使用:

  常用规则:

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

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()
Copy after login

    

    

    

    


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve the permissions problem encountered when viewing Python version in Linux terminal? How to solve the permissions problem encountered when viewing Python version in Linux terminal? Apr 01, 2025 pm 05:09 PM

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? How to avoid being detected by the browser when using Fiddler Everywhere for man-in-the-middle reading? Apr 02, 2025 am 07:15 AM

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

How to teach computer novice programming basics in project and problem-driven methods within 10 hours? How to teach computer novice programming basics in project and problem-driven methods within 10 hours? Apr 02, 2025 am 07:18 AM

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? How to efficiently copy the entire column of one DataFrame into another DataFrame with different structures in Python? Apr 01, 2025 pm 11:15 PM

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How does Uvicorn continuously listen for HTTP requests without serving_forever()? How does Uvicorn continuously listen for HTTP requests without serving_forever()? Apr 01, 2025 pm 10:51 PM

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

How to get news data bypassing Investing.com's anti-crawler mechanism? How to get news data bypassing Investing.com's anti-crawler mechanism? Apr 02, 2025 am 07:03 AM

Understanding the anti-crawling strategy of Investing.com Many people often try to crawl news data from Investing.com (https://cn.investing.com/news/latest-news)...

See all articles