hur.cn - 华软网

 热门搜索

请教一个正则表达式的问题:如何像DOS一样忽略顺序

  作者:未知    来源:网络    更新时间:2011/8/14
比如像DOS命令一样,指定参数,而这些参数可以不用按顺序排列
a \b 0 \c "Hello"

a \c "Hello" \b 0
两句是一样的,这样的正则应该怎么写?就是参数可以不按顺序提取出来。

希望知道的帮助一下小弟,谢谢
---华软 网友回答---
Boost库中有正则类
---华软网友回复---
单一的正则不能干你这种事。你要用正则来做,得需要一组正则。

比如针对: a \c "Hello" \b 0
你得用4个正则,

1个匹配 \c 
1个匹配 \b
1个匹配 0
1个匹配 "Hello"

每个正则匹配剩余的命令行字符串一次,并把匹配到的内容从命令行字符串中删除。

如果所有参数的正则都尝试了一遍,命令行字符串还没提空,就报告出现不能理解的参数。

这样就实现了无序提取参数。

要提醒搂主的是:用正则来处理命令行参数大材小用、效率低下,几乎没有人这样做!




 



---华软网友回复---
那有什么方法可以实现我上面的功能吗?      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。