Heim > Backend-Entwicklung > Python-Tutorial > regulärer Ausdruck

regulärer Ausdruck

巴扎黑
Freigeben: 2016-12-03 10:30:47
Original
1123 Leute haben es durchsucht

正则表达式使用:

  常用规则:

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

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()
Nach dem Login kopieren

    

    

    

    


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage