模式匹配
什么是模式匹配?
通过使用模式匹配,您可以指定某一模式,以告诉Tasker您希望匹配的内容。例如,如果您想要匹配任何以0315开头的电话号码,你可指定与0135*相匹配。 *是一个特殊字符,可用于匹配任何数字或任何字符。
可以用在哪里?
匹配可用在下列场合:
- 在某个操作的If条件中,如果指定了~ (匹配)或!~(不匹配)运算符。
- 在状态和事件条件的文字参数中
匹配规则
- 如果模式被留空,则会匹配任何内容
- 如果模式为非空,则必须匹配完整的目标内容
- /意味着“或”,可将多个可能的匹配进行区分
- * 则会匹配任何数字或任何字符,但不能指定匹配*这个字符
- + 可用于匹配一个或多个任意字符,但不能指定匹配+这个字符
- 匹配是大小写敏感的(magic无法与MagiC匹配),除非模式本身包含大写字母。例如,Magic*无法匹配 magically,但可以匹配Magic Roundabout
- 匹配最开头的 ! 意味着非,例如!*Magic*/*Yellow*将匹配任何不包含Magic或Yellow这两个词的其他词
- 不能在匹配目标的开头处指定与!字符进行匹配(但可以使用*!)
范例
- help可匹配help,但不能匹配helper。
- help*可匹配helper。
- *the*可匹配(任何位置的)the。
- 123+可匹配123以及至少外加其他一个字符的内容。
- +可匹配任何至少包含一个(非空)字符的内容。
- the*way可匹配the other way及the first way,以及其他类似内容。
- Help/*shell可匹配Help或其他任何以shell结尾的内容,但大小写敏感。
电话号码匹配
电话号码匹配(某些事件或状态,例如来电)的处理方式有所不同。
- C:ANY可匹配任何联系人的电话号码。
- C:FAV可匹配任何已收藏(加星标)联系人的电话号码。
- Otherwise:否则,匹配工作会尝试使用通用匹配规则针对所有电话号码和相关联系人的名称(如果有的话)进行匹配。
范例:
- !C:ANY可匹配不属于联系人的电话号码。
- 077*/Geoff*可匹配以077开头的电话号码,或名字以Geoff开头的联系人的电话号码。
- C:FAV/0123456789
可匹配任何已收藏联系人的电话号码,或0123456789这个电话号码。