2013-07-24 24 views
0

我有一個問題,我似乎無法找到聯機答案。我有一些文字:在特定字符串和字符之間匹配文本的正則表達式

Variable1 = Value1, Variable2 = Value2, Variable3 = Value3, Variable4 = Value4,

可以說,我想查找的字符串是"Variable2 = "

我想"Value2"返回。它不能包含逗號。

到目前爲止,我可以拿出最好的是:

(Variable2)\s\=\s(.+?),

但這返回Variable2 = Value2,

附加信息

我堅持使用一種稱爲自動化BPA程序。它有一些內置的正則表達式支持。

我希望這是可能的,我感謝任何幫助!

+1

歡迎來到Stack Overflow。請通過發佈一些適用於該問題的[正確格式化](http://stackoverflow.com/editing-help)代碼來改善您的問題。此外,請花時間分享您迄今爲止所採取的步驟,以便自行研究或解決問題。 –

+0

我們需要知道這是什麼語言。我們想知道http://www.whathaveyoutried.com?也許你應該考慮一個http://www.sscce.org? – FrankieTheKneeMan

回答

1

使用後面一看,周圍的目標向前看:

(?<=Variable2\s?=\s?).+?(?=,|$) 

展望未來匹配在逗號或輸入結束,所以它仍然會匹配上一屆,如果你搜索。

+0

這正是我所需要的。謝謝! – rangers8905

0

$var = 'Variable1 = Value1, Variable2 = Value2, Variable3 = Value3, Variable4 = Value4,';

$new = preg_split('/,/', $var);

print_r($new);

這將它分解成一個索引數組

Array ([0] => Variable1 = Value1 [1] => Variable2 = Value2 [2] => Variable3 = Value3 [3] => Variable4 = Value4 [4] =>)

+1

當然,如果你在PHP。如果你使用bash,那會導致錯誤。 – FrankieTheKneeMan

+0

@FrankieTheKneeMan Upvote – Jonnny

+0

我只能使用正則表達式,它只能匹配=和特定變量的逗號之前的文本。 – rangers8905

相關問題