CountRegEx() devuelve el número de instancias del patrón de expresión regular especificado en el texto de la cadena de entrada. Si no existe coincidencia alguna, devuelve 0.
Esta función realiza operaciones regex que distinguen entre mayúsculas y minúsculas. Puede utilizar alternativamente la variante CountRegExI() para realizar operaciones regex sin distinguir mayúsculas de minúsculas.
Sintaxis:
CountRegEx
(text, regex)
Tipo de datos que devuelve: numérico
Argumentos
Argumento
Descripción
text
El texto de la cadena de entrada en la que desea buscar una expresión regular.
regex
El patrón de expresión regular que buscar.
Ejemplos de funciones
Ejemplo
Resultado
CountRegEx('abc123','[a-z]')
Devuelve 3.
CountRegEx('abc123','[a-z][0-9]')
Devuelve 1.
CountRegEx('abc123','[0-9]')
Devuelve 3.
CountRegEx('ABC','[a-z]{3}')
Devuelve 0.
CountRegExI('ABC','[a-z]{3}')
Devuelve 1. Dado que se utiliza la variante CountRegExI(), las búsquedas de texto no distinguen entre mayúsculas y minúsculas.
Cuándo se utiliza
Algunos ejemplos de casos de uso de CountRegEx() son:
Contar el número de veces que un determinado patrón de texto aparece dentro de una cadena. Por ejemplo, podría buscar instancias de direcciones de correo electrónico, números de teléfono y otra información dentro de documentos y mensajes de correo electrónico.
Validar si los datos se ajustan a un requisito sintáctico específico.Por ejemplo, podría identificar los casos de error en la introducción de datos.
Ejemplo 1: script de carga para contar los rangos de año válidos
Descripción
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un tabulado denominado Vehicles que contiene una lista de vehículos, junto con el estado y el año del modelo de cada vehículo.
Para cada registro en Vehicles, un cálculo para determinar si el rango de años para el vehículo cumple con la sintaxis esperada. Los intervalos de años válidos incluyen las décadas de 1990, 2000, 2010 y 2020. Este cálculo se realiza mediante la función CountRegEx().
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
Vehicle_ID
Valid_Year_Data
Tabla de resultados
Vehicle_ID
Valid_Year_Data
1
0
2
1
3
1
4
0
5
1
6
1
7
0
8
1
9
0
10
1
También puede añadir un KPI a la hoja y agregar esta medida:
Sum(Valid_Year_Data)
Este gráfico muestra el número total de registros con valores válidos de Model_YearRange.
Nota informativaLa función MatchRegEx() también es útil para este tipo de casos de uso de la validación.
Ejemplo 2: script de carga para contar el número de direcciones de correo electrónico en cadenas de caracteres
Descripción
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Una tabla denominada Employees que contiene datos sobre los empleados de una empresa. Todas las direcciones de correo electrónico de cada empleado están contenidas en una única cadena.
Creación de un campo, NoOfEmails, para calcular cuántas direcciones de correo electrónico contiene la cadena de entrada de cada empleado.
Ejemplo 3: expresión de gráfico para contar las veces en que aparece una cadena de caracteres
Descripción
Abra la página Editor de carga de datos y añada el siguiente script de carga a una nueva sección.
El script de carga contiene el texto de una serie de correspondencias corporativas que se enviaron a los empleados de una organización. Los datos ya han sido depurados de cualquier información personal identificable (IPI), salvo el nombre de la empresa y la dirección de correo electrónico que envió cada correspondencia. El cuerpo de cada mensaje se ha contraído en una única cadena continua. En otras palabras, se han eliminado todos los caracteres de formato y de nueva línea.
Nuestros requisitos:
Identificar qué mensajes contienen una cadena que incluye la dirección de correo electrónico TestCompanyNameCorrespondence@test.com, junto con una introducción específica enviada a esta dirección que indique que fue el remitente.
Queremos flexibilidad en cuanto a qué introducciones identificar, pero también seguir teniendo algunas restricciones definidas. Las introducciones Sender y Sent by se consideran ambas válidas. Para lograr este objetivo, se pueden utilizar patrones regex.
La distinción entre mayúsculas y minúsculas en las direcciones de correo electrónico no es un factor a tener en cuenta. Por lo tanto, la búsqueda no debe distinguir entre mayúsculas y minúsculas.
Script de carga
Correspondences:
Load * Inline [
ID|MessageBody
1|Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
2|Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
3|Sender: TESTCOMPANYNAMECORRESPONDENCE@test.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
4|Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
5|Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
] (delimiter is |);
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
En las propiedades de la medida, establezca la función Totales en Sum. Esto configura la fila de totales en la parte superior de la tabla para contar el número total de registros que contribuyen al recuento.
La medida cuenta el número de resultados del patrón regex especificado dentro del contenido del mensaje. En el patrón regex, .* indica cualquier número de cualquier carácter excepto caracteres de inicio en una nueva línea. El patrón también tiene en cuenta la variación en la forma de introducir la dirección de correo electrónico: tanto Sender como Sent by son resultados válidos. La variante CountRegExI() de la función garantiza búsquedas sin distinción entre mayúsculas y minúsculas.
Sent by-- TestCompanyNameCorrespondence@test.com Good morning TestCompanyName team! I hope you are all well. I am just reaching out about the fabulous benefits package we launched just year. Our goal is to take a poll of what you all think. Can you please rate the new options from 1-10 in a response to this email, by this Tuesday? Thank you!
1
2
Sender: TestCompanyNameIT@test.com Did you know you can access our IT portal anytime, from any of your company devices? It's true! Reach out to your team lead to learn more.
0
3
Sender: TESTCOMPANYNAMECORRESPONDENCE@TEST.COM URGENT: This is a message to inform employees of an ongoing issue with our local branch. The branch will be closed until further notice. Thank you
1
4
Sender: TestCompanyNameVolunteering@test.com Dear team! We are looking for volunteers to help with this year's charity event! We need 40 volunteers to help with the event. If you are interested, please send an email to your direct supervisor. Thanks, TestCompanyName team members, for helping make the world a better place!
0
5
Sender is TestCompanyNameCorrespondence@test.com Hi folks, it's time to announce the annual TestCompanyName staff party! The party will be taking place at the office this year. Please make sure to RSVP, and we hope to see you there! Sincerely, the TestCompanyName management team
1
Entre los cinco mensajes, hay tres que coinciden con el patrón regex especificado. Cada mensaje contiene una coincidencia.
Nota informativaLa función MatchRegEx() también es útil para este tipo de casos de uso de la validación.
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.