Python正则表达式如何匹配特殊字符串!
Python正则表达式如何匹配特殊字符串!
作者:wjjontheway
文章主要介绍了如何使用Python正则表达式匹配和提取特定格式的字符串,通过示例,展示了如何从一串字符串中提取符合特定模式的子字符串,并输出结果,文章还提到了一些正则表达式的应用经验,并鼓励读者参考和使用脚本之家提供的资源。
Python正则表达式匹配特殊字符串
匹配特殊的字符串
匹配字符串中特定格式的字符串, 在一串字符串中,先找到特殊规则的substring, 然后再提取相关的位置value
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
strings = [ 'result-2023-08-18-6g1s1ch-DB9909' , 'result-2023-08-18-4g1s3ch-DB9909' , 'result-2023-08-18-1g4s1ch-DB9909' , 'result-2023-08-18-1g1s1ch-DB9909' ] pattern = r '(\d+)([Gg])(\d+)([Ss])(\d+)([Cc][Hh])' results = [] for s in strings: match = re.search(pattern, s) if match: print (match.group()) g = match.group( 2 ) #匹配第2个括号的内容 s = match.group( 4 ) #匹配第4个括号的内容 ch = match.group( 6 ) #匹配第6个括号的内容 string = match.group( 1 ) + g + match.group( 3 ) + s + match.group( 5 ) + ch results.append(string) print (results) db_pattern = r '([Dd][Bb])(\d+)' match = re.search(db_pattern, strings[ 0 ]) if match: print (match.group()) db = match.group( 1 ) #匹配第2个括号的内容 number = match.group( 2 ) #匹配第4个括号的内容 db_number = db + number |
输出内容
6g1s1ch
4g1s3ch
1g4s1ch
1g1s1ch
['6g1s1ch', '4g1s3ch', '1g4s1ch', '1g1s1ch']
DB9909
提取特殊的字符串
1
|
fullDump_pDevice00000286923A19B0_frame000_1g1s1ch.gfxbench_inst2_F535 |
pDevice
后面可能是一串其他数字和字母,只需要截取从frame001
开始的字符串,如:
1
|
frame000_1g1s1ch.gfxbench_inst2_F535 |
1
2
3
4
5
6
7
8
9
10
11
|
import re s = "fullDump_pDevice00000286923A19B0_frame000_1g1s1ch.gfxbench_inst2_F535" # Match the prefix to remove prefix_pattern = r '^fullDump_pDevice\d+_' # Use sub() to remove the matched prefix result = re.sub(prefix_pattern, '', s) print (result) |
上述正则表达式并不能准确替换掉,输出结果还是原来的字符串:
1
|
fullDump_pDevice00000286923A19B0_frame000_1g1s1ch.gfxbench_inst2_F535 |
后使用如下表达式:
1
2
3
4
|
s = "fullDump_pDevice0000028fd3B19D0_frame000_1g1s1ch.gfxbench_inst2_F535" prefix_pattern = r '^fullDump_pDevice(\d+)([A-Za-z0-9]+)_' new = re.sub(prefix_pattern, "", s) print (new) |
输出结果:
frame000_1g1s1ch.gfxbench_inst2_F535
总结
以上为个人经验,希望能给大家一个参考。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
共有 0 条评论