我有以下字符串,我需要在每個「=」字符後將它拆分到第二個空格。我如何去寫正則表達式?我在Ruby工作。正則表達式:如何在每個「=」後匹配第二個空格
"item1 = 10p item2 = 20p item3 = £1.10 item4 = 25p item5 = £2.94"
的目標是有一個數組,看起來像:
["item1 = 10p", "item2 = 20p", "item3 = £1.10"]
等
我有以下字符串,我需要在每個「=」字符後將它拆分到第二個空格。我如何去寫正則表達式?我在Ruby工作。正則表達式:如何在每個「=」後匹配第二個空格
"item1 = 10p item2 = 20p item3 = £1.10 item4 = 25p item5 = £2.94"
的目標是有一個數組,看起來像:
["item1 = 10p", "item2 = 20p", "item3 = £1.10"]
等
\S+\s*=\s*\S+
它容易抓住的比賽,而不是split.See演示。
https://regex101.com/r/hR7tH4/5
如果你仍然要拆分使用
(?<!=)\s+(?!=)
觀看演示。
使用VKS建議的正則表達式,你可以使用Ruby的scan
方法來創建所需的陣列"string".scan(/regex/)
:
irb(main):001:0> "item1 = 10p item2 = 20p item3 = £1.10 item4 = 25p item5 = £2.94".scan(/\S+\s*=\s*\S+/)
=> ["item1 = 10p", "item2 = 20p", "item3 = £1.10", "item4 = 25p", "item5 = £2.94"]
剛要問分裂變異FMI。感謝您的加入! –