Regular expressions, known as regex, allow you to manipulate dynamic text that appears in WalkMe content or that is part of automated processes. Using regex syntax is ideal for situations where dynamic text values you are using contain both the values you want and other characters that aren't relevant.
When dynamic text includes a user's first and last name, use regex to select and display only their first name in a ShoutOut or balloon to make it more personal (visual display)
Auto-populate your users' email address (when it's part of a larger object with additional data) into a text field upon page load (automation)
Select only part of a URL when using dynamic text to automatically take the user to a different page
Example use case
A customer wants to have a SmartTip display when an on screen element showing a date, is before or equal to January 31, 2019.
How to tackle the problem:
Outline possible values you want to match and values you do not want to match
Break the problem down into multiple groups of rules which, when combined, encompass all values you want to match
In this example we have four different patterns we want to match:
Any dates during January 2019
Any date between January 1, 2010 and December 31, 2018
Any date between January 1, 2000 and December 31, 2009
Any date between January 1, 0000 and December 31, 1999
Form the rules to handle each of the above cases and test them:
^Jan[\s]+[0123]?[\d]+,[\s]+2019$
^[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]$
^[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]$
^[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
After testing each group, combine into one string using the pipe (remove excess ^ and $s)
Implement the above RegEx in the SmartTip's display segment rule using:
OSE/jQuery > Text is per Regular Expression > ^Jan[\s]+[0123]?[\d]+,[\s]+2019|[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]|[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]|[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
Result: SmartTip will display when the element's text value is January 1, 0000 all the way to Jan 31, 2019
How It Works
Begin with an opening regex tag containing the regular expression itself, followed by the statement you wish to apply the regular expression to, and end with a closing regex tag:
[regex="{the regex itself}"]{text to perform the regex on}[/regex]
Observação
{text to perform the regex on} pode ser uma mistura de vários valores de texto dinâmicos, como variáveis, cookies, WalkMe Data e jQuery, além de valores estáticos
A maioria, se não todos, os usos do texto no regex serão dinâmicos, com uso mínimo de valores de texto estático
Uso suportado de regex no WalkMe
Tipos de regras do construtor de condições:
Elemento selecionado
URL
Atributos do usuário
jQuery
Elemento na tela
Variável (dados do usuário)
BBCode para conteúdo do WalkMe:
Exibição visual
Etapa Smart Walk-Thru
ShoutOut
Orientação SmartTip
Pesquisa
Automação
Etapa automática do Smart Walk-Thru (preencher texto e selecionar valor da lista)
Etapa de redirecionamento Smart Walk-Thru
Regex Structure
Starting and ending demarcators
When outside of brackets, ^ will denote the start of a regex and is used with the $ to denote the end of the regex.
Exemplos
Regex em um pacote de extensão: ^https:\/\/ecolab\.my\.salesforce\.com.*|^https:\/\/ecolab.*na.*\.visual\.force\.com.*
Regex no construtor de condições: Dados do usuário → Variável → department → Is By Regular Expression → ^sales$
Single character match
Most basic form of regex will do a direct character match.
Exemplos
^walkme$
Corresponderá a "walkme"
Lists and ranges
[] can be used to specify a list of values and when combined with – can dictate a range of values a corresponding character in the target string can take.
Exemplos
^[dcr][ao][gt]$
Corresponderá a “dog” “cat” “rat” “rag”
O primeiro caractere deve ser d, c ou r; o segundo caractere deve ser a ou o, e o terceiro caractere deve ser g ou t
^[a-z][0-9]$
O primeiro caractere deve ser de um a z (minúsculo) e o segundo caractere deve ser de 0 a 9
Repetitions
{3} and {#,#} can be used to avoid having to type the same patterns repeatedly in succession within a regex.
Exemplos
^[a-z]{3}$
Corresponderá a três letras minúsculas em sequência, como "adf" ou "kzd"
^[a-z]{1,3}$
Corresponderá a não menos de um e não mais de três dos caracteres anteriores, como "a", "am" e "abc", mas não "duct"
Wildcards
These are useful if text in the target string is dynamic or if the contents do not matter. . will match any single character, * will match zero or more of the preceding pattern, and + will match one or more of the preceding pattern.
Exemplos
^.*$
Corresponde a zero ou mais caracteres e é útil para adicionar ao início e ao final de um regex (particularmente dentro de extensões), porque estamos interessados apenas em corresponder subdomínios
^a+b*c+$
Corresponderá porque o + especifica que pelo menos um dos caracteres anteriores deve estar presente
Escape character
The backslash \ denotes that the characters following it have special meaning.
Exemplos
\.
Representa um ponto e não um caractere curinga
\/, $
Corresponderá a / e $
\d e \D
Corresponde a caracteres digitais\não-digitais
\s e \S
Corresponde ao espaço em branco\não-espaço em branco
\w e \W
Corresponde a caracteres alfanuméricos\não-alfanuméricos
Exclusion character
When contained within [] ^ can denote that the character should not be present in the target string.
Exemplos
^[^abc]$
Corresponderá a qualquer caractere único que não seja a, b ou c
^[^n-p]$
Corresponderá a qualquer caractere único que não seja n, o ou p
^\w[^og]{2}$
Corresponderá a bee e sea, mas não a log, bog, fog, etc.
Negative lookahead
(?!) will specify that the following String should not be present in the match and is useful to, for example, prevent a WalkMe extension from injecting into the wrong iFrame.