Micropython-正则表达式
Micropython - Regex
我有以下字符串:['', '+VZWRSRP: 64,6300,-101.70', '', 'OK', '']
我尝试将第二个逗号之后的所有内容放入变量 PCI,将第三个逗号之后的所有内容放入变量 earfcn,将第四个逗号之后的所有内容放入变量 RSRP。
一开始,我想用 RSRP 和以下正则表达式命令对其进行测试:
cellinfo = ['', '+VZWRSRP: 64,6300,-101.70', '', 'OK', '']
rsrp = re.search('-(.+?)\'', cellinfo)
但不知何故我无法让它工作。
实现此目的的好解决方案是什么?
我没注意到这个问题是针对 micropython 指定的,我没有处理过这个问题,这个答案在正常情况下有效 python
import re
input_string = ", '+VZWRSRP: 64,6300,-101.70', '', 'OK', "
m = re.search(',.*?:(.*?),(.*?),(.*?),.*?,', input_string)
PCL = m.group(1)
earfcn = m.group(2)
RSRP = m.group(3)
returns:
- PCL = 64
- earfcn = 6300
- RSRP = -101.70'
如果您希望输出仅包含可转换为整数或浮点数的值:
part = ".*?(-*\d+\.*\d*).*?"
m = re.search(',.*?:{},{},{},.*?,'.format(part,part,part), input_string)
会成功的。
如果您的字符串是“+VZWRSRP: 64,6300,-101.70”,请使用
part = ".*?(-*\d+\.*\d*).*?"
m = re.search('.*?:{},{},{}'.format(part,part,part), input_string)
我有以下字符串:['', '+VZWRSRP: 64,6300,-101.70', '', 'OK', '']
我尝试将第二个逗号之后的所有内容放入变量 PCI,将第三个逗号之后的所有内容放入变量 earfcn,将第四个逗号之后的所有内容放入变量 RSRP。
一开始,我想用 RSRP 和以下正则表达式命令对其进行测试:
cellinfo = ['', '+VZWRSRP: 64,6300,-101.70', '', 'OK', '']
rsrp = re.search('-(.+?)\'', cellinfo)
但不知何故我无法让它工作。
实现此目的的好解决方案是什么?
我没注意到这个问题是针对 micropython 指定的,我没有处理过这个问题,这个答案在正常情况下有效 python
import re
input_string = ", '+VZWRSRP: 64,6300,-101.70', '', 'OK', "
m = re.search(',.*?:(.*?),(.*?),(.*?),.*?,', input_string)
PCL = m.group(1)
earfcn = m.group(2)
RSRP = m.group(3)
returns:
- PCL = 64
- earfcn = 6300
- RSRP = -101.70'
如果您希望输出仅包含可转换为整数或浮点数的值:
part = ".*?(-*\d+\.*\d*).*?"
m = re.search(',.*?:{},{},{},.*?,'.format(part,part,part), input_string)
会成功的。
如果您的字符串是“+VZWRSRP: 64,6300,-101.70”,请使用
part = ".*?(-*\d+\.*\d*).*?"
m = re.search('.*?:{},{},{}'.format(part,part,part), input_string)