使用正则表达式从“variable = value”字符串中提取值

时间:2013-09-28 11:14:32

标签: regex perl

我有一个字符串,如下所示

String1 = aaaa
String2 = bbbb
String4 = cccc
String5 = " 
     abcd;
     bcda
     cdas"
String6 = dddd

我需要在"="之后提取字符串 在字符串5中,我需要在双引号" "之间提取字符串 我能够使用substring和indexof实现这一点。 我怎样才能在Perl正则表达式中实现这一目标?

1 个答案:

答案 0 :(得分:1)

RegEx:/^[a-zA-Z0-9]+\s*=\s*([^"']+?$|"[^"]+|'[^']+)/gm

这也用单引号和双引号以及简单值来处理这两种情况。

要匹配的文字:

String1 = aaaa  
String2 = bbbb  
String4 = cccc  
String5 = "   
     abcd;  
     bcda  
     cdas"  
String6 = dddd  
String7 = '   
     abcd;  
     bcda  
     cdas'  

匹配:

MATCH 1 `aaaa`
MATCH 2 `bbbb`
MATCH 3 `cccc`
MATCH 4 `" ↵     abcd;↵     bcda↵     cdas`
MATCH 5 `dddd`
MATCH 6 `' ↵     abcd;↵     bcda↵     cdas`

演示链接:http://regex101.com/r/dL4cS3