0

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

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

我需要在"=".
在字符串 5 中,我需要提取双引号之间的字符串" "
我可以使用 substring 和 indexof 来实现这一点。如何在 Perl 正则表达式中实现这一点?

4

1 回答 1

1

正则表达式:/^[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

于 2013-09-28T11:33:49.737 回答