正则表达式结构搜索不包含Word

时间:2015-12-22 17:32:52

标签: android regex

我试图在我的Android项目的XML文件中搜索不包含某个对象的对象。

我的一组对象如下所示:

<View
 android:id="@+id/obstacle3"
 android:layout_width="@dimen/obstacle_width"
 android:layout_height="@dimen/obstacle_width"
 android:background="@drawable/play_portal"
 android:layout_below="@+id/obstacle36"
 android:layout_toRightOf="@+id/obstacle29"
 ads:brother="@+id/obstacle21"
/>

<View
 android:id="@+id/obstacle3"
 android:layout_width="@dimen/obstacle_width"
 android:layout_height="@dimen/obstacle_width"
 android:background="@drawable/play_portal"
 android:layout_below="@+id/obstacle36"
 android:layout_toRightOf="@+id/obstacle29"
/>

<View
 android:id="@+id/obstacle3"
 android:layout_width="@dimen/obstacle_width"
 android:layout_height="@dimen/obstacle_width"
 android:background="@drawable/play_portal"
 android:layout_below="@+id/obstacle36"
 android:layout_toRightOf="@+id/obstacle29"
 ads:brother="@+id/obstacle21"
/>

通过此搜索, <View(\s+[^>]*?)ads([^>]*?/>)我可以找到包含 ads:brother属性的所有视图,但我想要反转;我想找到不包含 ads:brother属性的所有视图。

我尝试了很多事无济于事。我在这做错了什么?

1 个答案:

答案 0 :(得分:1)

__插入必填免责声明“请勿使用正则表达式解析xml”此处__

def lcs(*s):
...

See it in action

我们的想法是检查每个匹配的字符后面是否有<View([^>](?!ads))*?\/> ,因此整个匹配中没有ads