python中的正则表达式

正则表达式中的元字符

在正则表达式中,元字符是具有特殊含义的字符,用于匹配模式中的特定字符或字符集。以下是一些常见的元字符:

  1. .:匹配除换行符外的任何字符。
  2. ^:匹配输入的开始位置。
  3. $:匹配输入的结束位置。
  4. *:匹配前一个元素零次或多次。
  5. +匹配前一个元素一次或多次。
  6. ?:匹配前一个元素零次或一次。
  7. \:用于转义下一个字符,或表示特定的字符类(如\d表示任意数字)。
  8. []:匹配方括号内的任何字符。
  9. ():用于分组,控制操作符的范围。
  10. |:指示或的关系,匹配两个模式之一。
  11. {}:指定前一个元素的数量,如 {3} 表示匹配前一个元素恰好3次。
  12. \d:匹配一个数字字符。
  13. \w:匹配一个字母、数字或下划线字符。
  14. \s:匹配任意空白字符(包括空格、制表符、换行符等)。
  15. \b:匹配单词边界,通常用于搜索整个单词而不是单词的一部分。
  16. .*:通用的字符串
    这只是一些常见的正则表达式元字符,还有许多其他元字符和特殊序列,用于执行更复杂的模式匹配。熟悉这些元字符及其用法可以帮助您更有效地使用正则表达式进行文本处理和模式匹配。
    python中的正则表达式_第1张图片

实例

1.

python中的正则表达式_第2张图片

2.匹配长度为2的单词:

python中的正则表达式_第3张图片

3.匹配单词

python中的正则表达式_第4张图片

4.匹配数字

python中的正则表达式_第5张图片

5.匹配浮点数

python中的正则表达式_第6张图片

6.获取ip地址

python中的正则表达式_第7张图片
python中的正则表达式_第8张图片
python中的正则表达式_第9张图片

7.匹配内容

python中的正则表达式_第10张图片
?是非贪婪模式(即找到第一个haha就停下)
python中的正则表达式_第11张图片

8.匹配网站中的数据

python中的正则表达式_第12张图片

正则表达式验证网站

https://regex101.com/
相关教程

re模块来处理正则表达式

在Python中,可以使用内置的re模块来处理正则表达式。以下是一些Python中使用正则表达式的基本操作:

  1. 导入re模块:首先需要导入re模块,以便可以使用其中的函数和方法。例如:import re

  2. 创建模式对象:使用re模块中的compile()函数可以创建一个模式对象,用于存储正则表达式模式。例如:pattern = re.compile(r'abc')

  3. 匹配模式:使用模式对象的match()search()findall()等方法来进行模式匹配。

    • match():从字符串的开头开始匹配模式,并返回一个匹配对象。例如:result = pattern.match(string)

    • search():在字符串中搜索整个字符串,返回第一个匹配的对象。例如:result = pattern.search(string)

    • findall():在字符串中搜索所有匹配的内容,并返回一个列表。例如:result = pattern.findall(string)

  4. 使用匹配对象:在匹配成功后,可以使用匹配对象的方法和属性来获取匹配的相关信息。

    • group():返回匹配的字符串。例如:result.group()

    • start():返回匹配的起始位置。例如:result.start()

    • end():返回匹配的结束位置。例如:result.end()

    • span():返回匹配字符串的起始和结束位置。例如:result.span()

  5. 其他操作:除了基本的匹配功能外,re模块还提供了一些其他功能,如替换、分割、查找等。

    • sub():用于替换字符串中的匹配项。例如:result = re.sub(pattern, replacement, string)

    • split():用于根据匹配项分割字符串,并返回一个列表。例如:result = re.split(pattern, string)

    • finditer():返回一个迭代器,可以迭代获取所有匹配对象。例如:result = re.finditer(pattern, string)

Python中的正则表达式具有强大的功能,可以用于各种字符串处理和模式匹配的任务。详细了解re模块的使用和特性可以帮助您更好地利用正则表达式进行文本处理。

例子

当涉及到正则表达式时,可以有很多不同的用例。这里举几个简单的例子来说明正则表达式的使用:

  1. 匹配邮箱地址:
import re

pattern = re.compile(r'\w+@\w+\.\w+')
string = 'My email address is [email protected]'

result = pattern.search(string)
if result:
    print(result.group())

输出:[email protected]

  1. 提取手机号码:
import re

pattern = re.compile(r'\d{3}-\d{4}-\d{4}')
string = 'My phone number is 123-4567-8901'

result = pattern.search(string)
if result:
    print(result.group())

输出:123-4567-8901

  1. 替换文本中的敏感词:
import re

pattern = re.compile(r'(badword|curse)')
string = 'I hate badword and curse words'

replacement = '****'
result = pattern.sub(replacement, string)

print(result)

输出:I hate **** and **** words

这只是一些简单的例子,实际上正则表达式可以更复杂和灵活,可以处理各种不同类型的文本匹配和处理任务。根据具体的需求,可以编写更复杂的正则表达式来实现更精确的匹配。

你可能感兴趣的:(python学习基础内容,python,正则表达式,mysql)