import numpy as np
import pandas as pd
import re

  

data1 = pd.read_csv("F:/tianic_train.csv")

  

data2.head(40)

  

#循环正则化,提取dataframe

list1=[]
for i in data2.to_list():
    list1.append(re.split("\s",data2.loc[0]))
data1["A"]=list1

  

#拆分字符串

text1 = "ab x cj p m"
regex=re.compile("\s")  #方法进行自行编译
regex.split(text)   

  

#寻找所有匹配项

text2 = "a  ,1,2,,  _ n ,  n  m  ,"
regex = re.compile("\w")  #自行编译
regex.findall(text2)  

  

#寻找第一匹配,没有返回none

text3 = "a  ,,,  _ n ,  n  m  ,"
regex = re.compile("\w")  #自行编译
regex.search(text3)

  

#只看开头第一个有没有匹配,没有返回none

text4 = "a  ,1,2,,  _ n ,  n  m  ,"
regex = re.compile("\w")  #自行编译
regex.match(text4)

  

#替换匹配到的项

text5 = "a  ,1,2,,2  _ n ,  n  m  ,"
regex = re.compile("\d")  #自行编译
regex.sub("100",text5,2)

  

"""   
###特殊符号与字符

1.管道符(|):

模式:A|B|C

含义:从多个模式中选择其一

作用:用于分割不同的表达式

注意点:

如果A模式匹配成功后,不会再匹配B、C,即管道符是非贪婪的。

如果要匹配普通字符|,可以使用使用转义字符\|


2.句点(.):

模式:A.B.C

含义:匹配任意单个字符,除了换行符\n除外,可以匹配普通空格(非\n)

作用:类似占位符,只占一个字符的空位

注意点:

re.S或者re.DOTALL,可以用来任意单个字符,包括换行符\n

匹配普通字符句点,使用转义字符\.


3.脱字符(^):

模式:^start

含义:在字符串的开始位置进行匹配

作用:与大多数模式不同,^(脱字符)指定了匹配的起始位置


4.美元符($):

模式:end$

含义:以末尾的字符串模式进行匹配

作用:与脱字符差不多,都是指定匹配的位置


5.方括号([])与取反([^]):

模式:匹配一对方括号中的任一字符

示例:

[amk]: 匹配字符\'a\'或者\'m\'或者\'k\'

[a-z]:匹配小写字母a至z

[0-10]:匹配数字0至10

[^aeiou]: 表示不匹配方括号中出现的任一字符,即匹配非元音字母


6.闭包操作符实现存在性和频率匹配


以下为贪婪匹配模式:They match as much text as possible.

星号(*): 匹配其左边出现的正则表达式0次或者多次,即[0, +oo),取值为整数

加号(+): 匹配其左边出现的正则表达式1次或者多次,即[1, +oo), 取值为正整数

问号(?): 匹配其左边出现的正则表达式0次或者1次

花括号{N}:匹配其左边出现的正则表达式N次

花括号{M, N}:匹配其左边出现的正则表达式M~N次

以下为非贪婪匹配模式:“偷懒”模式,as few characters as possible will be matched.

*?:匹配0次

+?:匹配1次

??:匹配0次

{M, N}?: 只匹配M次

7. 反斜杠(\):

作用:将以上一些特殊字符进行转义,变为普通字符,比如\? \. \*等。


8.使用圆括号()分组:

含义:有些时候,我们不仅想知道整个字符串是否匹配我们的标准,可能还会对匹配成功的数据更感兴趣,想要提取已经成功匹配的特定字符串或者字符串,这个时候我们可以使用括号包括任何正则表达式。

作用:

对正则表达式分组

匹配子组

注意:

To match the literals \'(\' or \')\',

use \( or \), or enclose them inside a character class: [(], [)].


9.字符集的特殊字符:

含义:有些特殊字符能够表示字符集

\d 任何十进制数字,即[0-9]

\D 表示任何非十进制数字,即[^0-9]

\w 全部字母、数字的字符集,相当于[A-Za-z0-9]

\s 表示空白字符

\b 匹配字符串边界,

\B 匹配出现在一个单词中间的模式,即不是单词边界


10.扩展表示法

形式:(?...)

常用的扩展符号,见re模块常见属性部分
"""

  

版权声明:本文为jiangsunanjing123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jiangsunanjing123/articles/12198412.html