1

希望 sed 或 awk 大师可以帮助我。我需要匹配一个多行模式,其中模式范围可以跨越一到三行。我无法使用 pcregrep 得出结果!我想实现的模式有点像这样=>

\s*\w+\s\w+\([A-Za-z,]*\)\s*\;\{

问题是在单词或分号之后,模式的以下部分可以或不能出现在下一行中,并且模式也可以出现在一行中,具体取决于文件。

提前感谢您的回复。我已经卡在这一步将近一个星期了!任何形式的建议表示赞赏:)

例如:苹果橙(李子);猕猴桃 {

或者

苹果橙(李子);

猕猴桃

{

匹配两个表达式的表达式。

4

1 回答 1

2

\s*(\w+)\s+(\w+?)\((\w+)\);\s*(\w+)\s*{

你的非常接近。确保在使用正则表达式时设置MULTILINE标志以确保它匹配多行。这将匹配字符串中的所有四个单词。按照你的例子,

第一组:apple

第 2 组:orange

第 3 组:plum

第 4 组:kiwi

你可以在这里玩正则表达式

于 2012-06-18T15:46:06.280 回答