我已經做出一個正則表達式匹配正是這種模式 這裏的例子匹配特定的模式正則表達式
JK + 6.00,PP * 2,ZZ,GROUPO
有匹配對於每個組像
匹配1
- JK
- +
- 6.00
第2場
- PP
- *
匹配3
- ZZ
匹配4
- GROUPO
所以逗號分隔的 (2〜12全部大寫字母)[可選(塊+或*)和a(正數0 [.0 [0]])
此塊成功解析模式
(?P<block>(?P<subject>[A-Z]{2,12})(?:(?P<operation>\*|\+)(?P<value>\d+(?:.?\d{1,2})?))?)
我們有
(?P<subject>[A-Z]{2,12})
值
(?P<value>\d+(?:.?\d{1,2})?)
所有可選操作部(值的範圍內)的受試者組
(?:(?P<operation>\*|\+)(?P<value>\d+(?:.?\d{1,2})?))?
但如果字符串不完全匹配模式 正則表達式必須失敗,這就是問題所在
我試過,但不起作用
^(?P<block>(?P<subject>[A-Z]{2,12})(?:(?P<operation>\*|\+)(?P<value>\d+(?:.?\d{1,2})?))?)(?:,(?P=block))*$
什麼建議嗎?
PS。我使用Python重新
你在找什麼花樣呢? (2個不同的字母)+(時間戳),(2個同一個字母)*(1個數字),(2個同一個字母),(一個字符串)'? – Olian04
是逗號分隔的塊(2到12個大寫字母)[opt。 (+或*)和數字] – Misterfrederx