====== Pattern Matching And Filter Strings====== TapeTrack has powerful pattern matching functionality that can be utilized globally in [[desktop:master|TapeMaster]]. ===== TapeMaster Quick Filters ===== TapeMaster fields can be filtered by Repository, Flags, Next Move and/or Container by using the funnel buttons on the right of the filter fields. To use quick filters just click on the required column funnel and select the filter value. {{tapemaster_filters.png}} ===== String Pattern Matching ===== To illustrate the effects of where and how the asterisk wildcard affects search results all examples will be performed against the following [[object:volume|Volume]] values. 100000L4, 100001L4, 100002L4, 100003L4, 100004L4, 100012L4, 100022L4, 200000L5, 200012L5, 200022L5 {{:general:filter_values.png}} ==== Asterisk (*) ==== The **Asterisk is used** as a wildcard to allow String matching in multiple positions and variable String lengths. * An **Asterisk** before a set of characters will show all items that end with those characters. \\ Using the filter ''*L4'' in the [[object:volume|Volume-ID]] field will show all [[object:volume|Volume-ID's]] ending in L4. \\ {{:general:filter_values_ast_value.png}} \\ \\ * An **Asterisk** after a set of characters will show all items that begin with those characters. \\ Using the filter ''20*'' in the [[object:volume|Volume-ID]] field will display all [[object:volume|Volume-ID's]] starting with 20. \\ {{:general:filter_values_value_ast.png}} \\ \\ * If used on its own, the **Asterisk** will match everything and, as such, will have no effect on [[object:volume|Volumes]] displayed. \\ \\ * Using two **Asterisks**, one on either side of a character or set of characters will show all items containing that character or set of characters at any character position. \\ Using the filter ''*02*'' in the [[object:volume|Volume-ID]] field will display all [[object:volume|Volume-ID's]] that have 02 anywhere within the ID. \\ {{:general:filter_values_ast_value_ast.png}} \\ \\ * The Asterisk does not need to be used when entering a full Object-ID or when searching for [[common:volume_flags|Flags]] in the [[master:view_volume_list|Volume List]]. \\ {{:general:filter_values_id_flag.png}} ==== Question Mark (?) ==== The **Question Mark** is used to indicate that any character can exist in a specific character position. Using the filter ''??????L4'' in the [[object:volume|Volume-ID]] field will display all eight character [[object:volume|Volume-ID's]] ending in L4. {{:general:filter_values_question.png}} ==== Square Brackets ([ ]) ==== **Square Brackets** can be used to provide parameters for a specific character position that are longer than one character. There are four different configurations: **Multiple Characters** When multiple characters are put in a **Square Bracket**, any of the characters listed will be displayed at the specified character position. Using the filter, in the [[object:volume|Volume-ID]] field, ''[12]?????L[45]'' will display all eight character [[object:volume|Volume-ID's]] that start in either 1 or 2 and end in either L4 or L5. **Range Of Characters** Using the filter, in the [[object:volume|Volume-ID]] field, ''[12]?????L[4-7]'' will display all eight character [[object:volume|Volume-ID's]] that start in either 1 or 2 and end in either L4, L5, L6 or L7. {{:general:filter_values_range.png}} ==== Vertical Bar (|) ==== When two or more characters are placed between **Square Brackets** and separated by **Vertical Bars**, the **Vertical Bar** will act as the word "OR" displaying any of the characters. Using the filter, in the [[object:volume|Volume-ID]] field, ''??????L[4|5]'' will display all eight character [[object:volume|Volume-ID's]] that end in either L4 **OR** L5. {{:general:filter_values_or.png}} ==== Hyphen (-) ==== When two characters are placed between **Square Brackets** and separated by a **Hyphen**, any character alphanumerically between the two characters inclusive will display. Using the filter, in the [[object:volume|Volume-ID]] field, ??????L[1-4] will display all eight character [[object:volume|Volume-ID's]] that end in L1, L2, L3 OR L4. {{:general:filter_values_range.png}} ==== Exclamation Point (!) ==== When the **Exclamation Point** is placed immediately following the left **Square Bracket** in a set of **Square Brackets**, any character except for the characters listed after the **Exclamation Point** will display. This functionality also works with **Multiple Characters**, **Vertical Bars**, and **Hyphens**. Using the filter, in the [[object:volume|Volume-ID]] field, ''??????L!([1-4])'' will display all eight character [[object:volume|Volume-ID's]] that start end in anything other than 1, 2, 3 or 4. {{:general:filter_values_not_range.png}} ===== Date Pattern Matching ===== TapeTrack Date Format TapeTrack allows you to represent dates both as literal date values and date calculations. === Syntax === ^ Syntax ^ Description ^ | YYYY-MM-DD | ISO Date Format | | * | Today | | W | This Week | | P | The oldest Date | | F | The most Future Date | | *±x | Today ± number of days (x). | | M | The first day of this month | | m | The last day of this month. | | Y | The first day of the year. | | y | The last day of the year. | | M±x | The first day of the month ± number of months (x). | | M±x±y | The first day of the month ± number of months (x), ± number of days (y). | | Y±x | The first day of the year ± x number of years | | Y±x±y | The first day of the year ± number of years (x) ± number of months (y). | | Y±x±y±z | The first day of the year ± number of years (x) ± number of months (y) ± number of days (z). | === Examples === ^ Date Syntax ^ Description ^ |*-10 | Today - 10 days | | W-10 | 10 Weeks ago | | W+2 | 2 Weeks in the future | | M | The first day of this month | | M-1 | The first day of last month | |Y | The beginning of this year | |y-1 | The last day of last year | |Y-1+3-1 | The last day of February last year | | P | The oldest date | | P+50 | The oldest date plus 50 days | | F | The most future date | ^ Date Range Syntax ^ Description ^ | *-10:* | 10 days ago until today | | W-2:* | Two weeks ago until today | | M-4:W+2 | First day of four months ago until two weeks from today | === Pattern Matching === ^ Syntax ^ Description ^ | ???? | 4 Character long | | ????* | 4 or more long | | !(?*) | Empty string, not 1 character or more {{tag> date technote tapemaster lite cli}}