The Spectool2 HTML description uses two types search/filter inputs. One is text or "Regular Expressions" respectively and the other is comparison and logic operations on numbers. The first (text-based) is used for filtering and searching, the second (number-based) is only used for number filtering.
Technically the text-based is using the JavaScript RegExp capabilities and the number-based the JavaScrip "eval" functionality.
The search bar can be used to search the whole database for specific Modules, Ports, Buses, Registers or Fields. Immediately after a search expression is entered in the search bar the search starts and shows its results in the "body" of the current page. When the search bar is cleared again, the original page is restored. Within the search result page the user has the possibility to restrict the search further by deselecting the according checkboxes.
The search effects the following fields:
| Type | Effected Description Field |
| Module | instName/aliasName |
| Port | instName/aliasName, instName/aliasName of parent Module |
| Bus | instName/aliasName, instName/aliasName of parent Module |
| Register | instName/aliasName |
| Field | instName/aliasName |
Note:
- The search is always case insensitiv!
- For information on JavaScript Regular Expressions see chapter "Regular Expression Patterns" or search the Internet.
The filter bar can either filter text-based or number-based depending on the contend of the column. Text based filtering is working the same as for the search bar. Number based filtering can use typical comparison operators like ==, !=, >=, <=, >, and <.
"text-based" Examples:
See search bar description and "Regular Expression Patterns" chapter.
"number-based" Examples:
| Expression | Description |
| >16 (same as: n>16, >0x10, n>0x10) | Shows every row within the table where this column value is bigger than 10 |
| n>0x100 && n<0x500 | Shows every row within the table where this column value is bigger than 0x100 and smaller than 0x500 |
Brackets
Brackets are used to find a range of characters:
| Expression |
Description |
| [abc] |
Find any character between the brackets |
| [^abc] |
Find any character NOT between the brackets |
| [0-9] |
Find any digit between the brackets |
| [^0-9] |
Find any digit NOT between the brackets |
| (x|y) |
Find any of the alternatives specified |
Metacharacters
Metacharacters are characters with a special meaning:
| Metacharacter |
Description |
| . |
Find a single character, except newline or line
terminator |
| \w |
Find a word character |
| \W |
Find a non-word character |
| \d |
Find a digit |
| \D |
Find a non-digit character |
| \s |
Find a whitespace character |
| \S |
Find a non-whitespace character |
| \b |
Find a match at the beginning/end of a word |
| \B |
Find a match not at the beginning/end of a word |
| \0 |
Find a NUL character |
| \n |
Find a new line character |
| \f |
Find a form feed character |
| \r |
Find a carriage return character |
| \t |
Find a tab character |
| \v |
Find a vertical tab character |
| \xxx |
Find the character specified by an octal number xxx |
| \xdd |
Find the character specified by a hexadecimal number dd |
| \uxxxx |
Find the Unicode character specified by a hexadecimal
number xxxx |
Quantifiers
| Quantifier |
Description |
| n+ |
Matches any string that contains at least one n |
| n* |
Matches any string that contains zero or more occurrences
of n
|
| n? |
Matches any string that contains zero or one occurrences
of n
|
| n{X} |
Matches any string that contains a sequence of X n's
|
| n{X,Y} |
Matches any string that contains a sequence of X to Y n's
|
| n{X,} |
Matches any string that contains a sequence of at least X
n's
|
| n$ |
Matches any string with n at the end of it
|
| ^n |
Matches any string with n at the beginning of it
|
| ?=n |
Matches any string that is followed by a specific string
n
|
| ?!n |
Matches any string that is not followed by a specific
string n
|