包装设计网站是什么样子的,网页后台常用设计尺寸,项目计划书模板范文,中国机械加工网招聘信息特殊字符转义
以下字符都需要用 反斜线#xff08;\#xff09;来进行特殊字符的转义。
\n - 换行符 \t - 制表符 \ - 反斜线本身 . - 点号#xff08;任意单个字符#xff09; 星号#xff08;0次或多次重复前面的元素#xff09; 加号#xff08;1次或多次重复前面的…
特殊字符转义
以下字符都需要用 反斜线\来进行特殊字符的转义。
\n - 换行符 \t - 制表符 \ - 反斜线本身 . - 点号任意单个字符 星号0次或多次重复前面的元素 加号1次或多次重复前面的元素 ? - 问号零次或一次重复前面的元素 [] - 方括号内的任何字符集合 () - 分组操作符 {} - 花括号内指定数量的重复次数
起因python正则匹配从你好aaa匹配‘aaa’我就想完整的匹配aaa但是实际效果是你好a这种的也能匹配上。
debug发现原来在正则中是特殊字符。如果要匹配 字符本身你需要使用反斜杠 \ 对它进行转义。即遇见 的pattern用 / 来替换
modified_string original_string.replace(, /)
‘aaa’被解释为匹配前面的字符 aaa 一次或多次。
import rere.search(aaa, a) # nonere.search(aaa, aaab) # _sre.SRE_Match object; span(0, 3), matchaaare.search(aaa, ab) # nonere.search(aaa, aab) # nonere.search(aaa, aaaaaab) # _sre.SRE_Match object; span(0, 6), matchaaaaaa re.match() 与 re.search() 的区别
1. re.match() - re.match() 用于从字符串的起始位置开始匹配正则表达式。 - 如果匹配成功re.match() 返回一个匹配对象如果匹配失败它返回 None。 - 它只匹配字符串的第一个子串也就是说它不会扫描整个字符串而是在找到第一个匹配项后停止。
2. re.search() - re.search() 用于在字符串中扫描正则表达式并返回第一个匹配项。 - 如果匹配成功re.search() 返回一个匹配对象如果匹配失败它返回 None。 - 它会扫描整个字符串直到找到第一个匹配项为止。
简而言之re.match() 通常用于检查字符串的起始部分是否与正则表达式匹配而 re.search() 用于在整个字符串中查找匹配项。下面是一个示例展示这两个函数的区别
总结search()更符合需求。
import re# 示例字符串
text 这是一个测试字符串包含多个部分。# 正则表达式
pattern1 r测试
pattern2 r多个部分# 使用re.match()
match1 re.match(pattern1, text)
match2 re.match(pattern2, text)print(fmatch1: {match1}) # match1: None
print(fmatch2: {match2}) # match2: None# 使用re.search()
search1 re.search(pattern1, text)
search2 re.search(pattern2, text)print(fsearch1: {search1}) # search1: _sre.SRE_Match object; span(4, 6), match测试
print(fsearch2: {search2}) # search2: _sre.SRE_Match object; span(12, 16), match多个部分
re.findall()
matches re.findall(pattern, str) re.sub()
# 将str中匹配到的pattern部分替换为new_str re.sub(pattern, , str) 实践1匹配12g
pattern r\d\s*[Gg][Bb]? # 256g, 12g
实践2匹配12g12g, 12gb12gb, 12g1
pattern r\d\s*[g]?[b]?\\d\s*[Gg]?[Bb]?