单个glob表达式,用于匹配具有给定名称的子目录的内容,而不匹配具有该名称的(父)目录的内容

时间:2019-05-18 20:44:30

标签: glob

给出以下路径:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="7">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/dayLabel1"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn1"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"
            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel2"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn2"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"
            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:layout_gravity="center_horizontal"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel3"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn3"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel4"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn4"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel5"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn5"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel6"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn6"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"

            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="10dp">

        <TextView
            android:id="@+id/dayLabel7"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:layout_gravity="fill"
            android:gravity="center"
            android:text="M"
            android:textAlignment="center" />

        <Button
            android:id="@+id/dateBtn7"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/round_button"
            android:text="13" />

        <ImageView
            android:id="@+id/dotIcon7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            app:srcCompat="@drawable/dotindicatoricon" />    
    </LinearLayout>    
</LinearLayout>

我希望仅匹配具有“ @ c8y”作为子目录的条目: @c8y/apps @c8y/client project-a/@c8y/client project-b/@c8y/client foo/@c8y/client bar/@c8y/client baz/@c8y/client qux/@c8y/client

我尝试了 ☒ @c8y/apps ☒ @c8y/client ☑ project-a/@c8y/client ☑ project-b/@c8y/client ☑ foo/@c8y/client ☑ bar/@c8y/client ☑ baz/@c8y/client ☑ qux/@c8y/client **/@c8y/**,但失败了,此后几乎卡住了

是否有单个glob表达式可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

如果您想在@c8y之前只需要一个子目录,则可以只使用*

*/@c8y/client

**(匹配0个或多个路径分量)不同,*总是完全匹配一个级别。