正则入门连载!(献给不及格的程序员们)
在正则表达式中,我们需要了解一些基本的语法和符号。一些常用的语法和符号如下:
.
:匹配任意单个字符*
:匹配前一字符0或多次+
:匹配前一字符1或多次?
:匹配前一字符0或1次()
:表示分组|
:表示或[]
:表示字符集[^]
:表示不匹配字符集中的任何一个字符
字符匹配
.
.
是正则表达式中的特殊字符,可以匹配任意单个字符,除了行终止符(比如换行符、回车符)。下面是一个简单的示例:
import re
text = "The cat and the bat sat on the mat."
pattern = r".at"
matches = re.findall(pattern, text)
for match in matches:
print(match)
上面代码输出结果为:
cat
bat
sat
mat
[]
[]
表示字符集,可以匹配字符集中任意一个字符。下面是一个简单的示例:
import re
text = "The cat and the bat sat on the mat."
pattern = r"[cb]at"
matches = re.findall(pattern, text)
for match in matches:
print(match)
上面代码输出结果为:
cat
bat
[]
中的字符可以使用 -
连接表示连续的字符范围,例如 [a-z]
表示小写字母 a 到 z。
重复匹配
*
*
表示匹配前一个字符0或多次。下面是一个简单的示例:
import re
text = "The cat and the bat sat on the mat."
pattern = r"sa*t"
matches = re.findall(pattern, text)
for match in matches:
print(match)
上面代码输出结果为:
sat
st
+
+
表示匹配前一个字符1或多次。下面是一个简单的示例:
import re
text = "The cat and the bat sat on the mat."
pattern = r"sa+t"
matches = re.findall(pattern, text)
for match in matches:
print(match)
上面代码输出结果为:
sat
?
?
表示匹配前一个字符0或1次。下面是一个简单的示例:
import re
text = "The cat and the bat sat on the mat."
pattern = r"sa?t"
matches = re.findall(pattern, text)
for match in matches:
print(match)
上面代码输出结果为:
sat
st
分组匹配
()
表示分组,可以把一组字符看作一个整体进行匹配。下面是一个简单的示例:
import re
text = "The cat and the bat sat on the mat."
pattern = r"(c|b)at"
matches = re.findall(pattern, text)
for match in matches:
print(match)
上面代码输出结果为:
cat
bat
总结
通过本文的学习,我们了解到了正则表达式的基本语法和符号,包括字符匹配、重复匹配和分组匹配。正则表达式可以应用在许多场景中,例如字符串匹配、文本处理等。在实际工作中,我们可以使用 Python 中的 re
模块来方便地应用正则表达式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:正则入门连载!(献给不及格的程序员们) - Python技术站