的最后一次出现我有数据,看起来像这样:熊猫DF和RE - 找到一个匹配Y.然后找到X
/media/info/DRIVE/Animal/Stuff
Rights: _RWCEMF_ User/Group .CN=Dog.OU=Random.OU=Place.O=X.T=X.
Rights: _RWCEMF_ User/Group .CN=Cat.OU=Random.OU=Place.O=X.T=X.
/media/info/DRIVE/Tricks/Treats
Rights: _RWCEMF_ User/Group .CN=Gorilla.OU=Random.OU=Place.O=X.T=X.
Rights: _RWCEMF_ User/Group .CN=Hippo.OU=Random.OU=Place.O=X.T=X.
Rights: _R______ User/Group .CN=Dog.OU=Random.OU=Place.O=X.T=X.
/media/info/DRIVE/Private/Hideout
Rights: _RWCEMF_ User/Group .CN=Hippo.OU=Random.OU=Place.O=X.T=X.
说这正好为千行,我希望看到所有Dog拥有的权限。理想情况下,输出看起来像这样:
/DRIVE/Animal/Stuff Rights: _RWCEMF_
/DRIVE/Tricks/Treats Rights: _R______
问题:这是我应该用正则表达式来解决吗?我一直在进行一些阅读/试用,看起来你找不到狗,然后回顾最近发生的/media/info/DRIVE,因为回溯会检查静态字符数量。
另一方面,lookahead找到第一个匹配,然后继续寻找第二个匹配 - 即使这是几百行后来在一个完全独立的驱动器。
关于如何解决这个问题的任何想法?我正在用这个旋转我的轮子。所有搜索都指向正则表达式。
这是辉煌。我是这么想的 - 实际上这样更好,因为我可以继续引用df来获取其他用户的权限,而无需再次通过整个过程。 – Corey