我有這個正則表達式的大部分,但我有一個向前看的麻煩。我想將一個字符串分隔成一個郵編,然後是兩個字符串或兩個數字。這些數字可以是這樣的形式:蟒蛇正則表達式非ASCII字符
1
1.5
1.55
11.55
的中間位的文本可以是「沒有最低」和第三位只能是「免費」的文字。
E.g.
「YO1£10Free」==> YO1; 10;免
或
「yo1££8A 0.5」 ==> YO1; 8; 0.5
或
「yo1Nominimum£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)
任何幫助,將不勝感激。
謝謝雷切爾,這確實有很大的幫助。正則表達式非常恐怖,所以感謝解釋它!歡呼unicode技巧,這已經破壞了我的頭! – user578582
嗚!我很高興它幫助你。 Unicode是Python 2中屁股的痛點,這個Pycon視頻幫助我開始了它:http://www.youtube.com/watch?v=sgHbC6udIqc –