[英]Extract word from string Using python regex
我想从字符串中提取型号,
/dev/sda:
ATA device, with non-removable media
Model Number: ST500DM002-1BD142
Serial Number: W2AQHKME
Firmware Revision: KC45
Transport: Serial, SATA Rev 3.0
我写的正则表达式
re.search("Model Number:(\s+[\w+^\w|d]\n\t*)", str)
但问题是,它与字符串str中的任何特殊字符(非ascii)都不匹配
Python 2.6
注意:字符串可以是任何字符/数字的组合(包括特殊字符)
您的正则表达式将是
Model Number:\s*([\w-]+)
Python代码是
>>> import re
>>> s = """
...
... /dev/sda:
...
... ATA device, with non-removable media
... Model Number: ST500DM002-1BD142
... Serial Number: W2AQHKME
... Firmware Revision: KC45
... Transport: Serial, SATA Rev 3.0"""
>>> m = re.search(r'Model Number:\s*([^\n]+)', s)
>>> m.group(1)
'ST500DM002-1BD142'
说明:
Model Number:\\s*
与字符串“ Model Number:
匹配,后跟零个或多个空格。 ([^\\n]+)
一次或多次捕获任何字符,但不捕获换行符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.