我有大部分这个正则表达式,但是我在前瞻方面遇到了麻烦。我想将一个字符串分隔成一个邮政编码,后跟两个字符串或两个数字。数字可以是以下形式:
1
1.5
1.55
11.55
中间位的文字可以是“No minimum”,第三位的文字只能是“Free”。
例如
“YO1£ 10Free” ==> YO1;10个;自由
或者
"yo1 8 英镑 0.5" ==> yo1; 8个;0.5
或者
"yo1No minimum£ 0.75" ==> yo1; 没有最低要求;0.75
我首先完成了这个:
string = "YO1£ 10Free"
patternPostCode = re.compile("[a-zA-Z]{1,2}[0-9][a-zA-Z0-9]?")
postCode = re.findall(string,patternPostCode)
字符串中的数字可通过以下方式找到:
patternCost = re.compile(r"(?<=\xa3 )([0-9]|
[0-9][0-9]|
[0-9]?[0-9]?.[0-9]|
[0-9]?[0-9]?.[0-9][0-9])")
我很难将“或文本等于“无最小值””添加到 patternCost 搜索中。我也无法设法包括前瞻。最后添加这个不起作用:
(?<=\xc2)
任何帮助,将不胜感激。