IP Library › Granted Patent US 10,552,122
Granted Patent B2
US 10,552,122 · App. 15/584,977 · Granted Feb 4, 2020

Systems and methods for customizable regular expression generation

Inventor: Ravi Teja Prabhala Venkata (Richmond Heights, MO)
Assignee: Mastercard International Incorporated
G06F8/33G06F8/34G06F16/332G06F11/3604
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,552,122
App. No.
15/584,977
Granted
Feb 4, 2020
Kind
B2
Abstract

A regular expression generator (REG) computing device for generating customized regular expressions readable by a computing device is provided. The REG computing device is configured to receive an input string including a plurality of characters for use in generating a regular expression. The REG computing device is also configured to generate character patterns for at least one character of the plurality of characters. The REG computing device is further configured to display, for the at least one character, the character patterns. The REG computing device is also configured to assign, based on input received via a user interface, a first character pattern of the character patterns to the at least one character. The REG computing device is further configured to generate the regular expression using the first character pattern. The REG computing device is also configured to display the regular expression on the user interface.

Claims (74)

1. A regular expression generator (REG) computing device for generating customized regular expressions readable by a computing device, the REG computing device including a processor, a display device, and a memory device, the REG computing device configured to:

receive an input string including a plurality of characters for use in generating a regular expression;

display the input string as a first array of character positions on the display device, wherein each character position of the first array is associated with a single character of the plurality of characters;

for each character position of the first array of character positions, generate one or more character patterns for the single character associated with the character position;

for each character position of the first array of character positions, display the one or more character patterns as an array of pattern options, wherein the array of pattern options is oriented on the display device to be aligned with the associated character position;

prompt the user to make a selection for one or more of the character positions of the first array of character positions;

assign a respective default character pattern of the one or more character patterns to each character position of the first array of character positions, each respective default value based on a value of the corresponding position of the input string;

generate, and display on the display device, a regular expression using the respective default character pattern for each character position of the first array of character positions;

receive, via a user interface after displaying the regular expression generated using the respective default character pattern for each character position, a series of inputs, each input of the series of inputs designating a respective user-chosen character pattern of the one or more character patterns for a corresponding character position of the first array;

dynamically update, in response to each input of the series of inputs, the regular expression displayed on the display device by substituting the respective user-chosen character pattern for the respective default character pattern;

highlight, in response to at least one instance of said dynamic update, one or more character positions of the first array of character positions for which the user has made no selection;

after receiving the series of inputs, re-generate the regular expression by automatically resolving consecutive duplicate instances of at least one of the one or more character patterns in the regular pattern into a single instance of the at least one character pattern and a special plurality character; and

display the re-generated regular expression on the display device.

2. A device in accordance with claim 1 , further configured to:

receive at least one test input string that corresponds to a user preference;

validate the regular expression using the test input string, including comparing the first character pattern to at least one test input character from the test input string; and

display a regular expression validation message on the user interface.

3. A device in accordance with claim 1 , wherein dynamically updating the regular expression further includes concatenating each respective user-chosen character pattern and each respective default character pattern based on an order of each associated character position within the first array of character positions.

4. A device in accordance with claim 1 , wherein a first character pattern of the one or more character patterns includes one or more of an alphabetical character pattern, a numerical character pattern, and a special character pattern.

5. A device in accordance with claim 1 , further configured to:

receive a parameter input for the regular expression via the user interface, wherein the parameter input includes one or more of a minimum length parameter, a maximum length parameter, and a regular expression type parameter, and wherein the regular expression type parameter corresponds to a type of the regular expression to be generated.

6. A device in accordance with claim 1 , further configured to:

receive a language parameter input via the user interface, wherein the language parameter input includes a programming language identifier;

access, from the memory device, one or more language files corresponding to the programming language identifier, wherein the one or more language files define a syntax corresponding to the programming language identifier; and

wherein dynamically updating the regular expression comprises using the one or more language files, including customizing the regular expression to comply with the syntax.

7. A computer-implemented method for generating customized regular expressions readable by a computing device, the method implemented using a regular expression generator (REG) computing device including a processor, a display device, and a memory device, the method comprising:

receiving, by the REG computing device, an input string including a plurality of characters for use in generating a regular expression;

displaying the input string as a first array of character positions on the display device, wherein each character position of the first array is associated with a single character of the plurality of characters;

for each character position of the first array of character positions, generating one or more character patterns for the single character associated with the character position;

for each character position of the first array of character positions, displaying the one or more character patterns as an array of pattern options, wherein the array of pattern options is oriented on the display device to be aligned with the associated character position;

prompting the user to make a selection for one or more of the character positions of the first array of character positions;

assigning a respective default character pattern of the one or more character patterns to each character position of the first array of character positions, each respective default value based on a value of the corresponding position of the input string;

generating, and displaying on the display device, a regular expression using the respective default character pattern for each character position of the first array of character positions;

receiving, via a user interface after displaying the regular expression generated using the respective default character pattern for each character position, a series of inputs, each input of the series of inputs designating a respective user-chosen character pattern of the one or more character patterns for a corresponding character position of the first array;

dynamically updating, in response to each input of the series of inputs, the regular expression displayed on the display device by substituting the respective user-chosen character pattern for the respective default character pattern;

highlighting, in response to at least one instance of said dynamic update, one or more character positions of the first array of character positions for which the user has made no selection;

after receiving the series of inputs, re-generating the regular expression by automatically resolving consecutive duplicate instances of at least one of the one or more character patterns in the regular pattern into a single instance of the at least one character pattern and a special plurality character; and

displaying the re-generated regular expression on the display device.

8. A method in accordance with claim 7 , further comprising:

receiving at least one test input string that corresponds to a user preference;

validating the regular expression using the test input string, including comparing the first character pattern to at least one test input character from the test input string; and

displaying a regular expression validation message on the user interface.

9. A method in accordance with claim 8 , wherein dynamically updating the regular expression further includes concatenating each respective user-chosen character pattern and each respective default character pattern based on an order of each associated character position within the first array of character positions.

10. A method in accordance with claim 7 , wherein a first character pattern of the one or more character patterns includes one or more of an alphabetical character pattern, a numerical character pattern, and a special character pattern.

11. A method in accordance with claim 7 , further comprising:

receiving a parameter input for the regular expression via the user interface, wherein the parameter input includes one or more of a minimum length parameter, a maximum length parameter, and a regular expression type parameter, and wherein the regular expression type parameter corresponds to a type of the regular expression to be generated.

12. A method in accordance with claim 7 , further comprising:

receiving a language parameter input via the user interface, wherein the language parameter input includes a programming language identifier;

accessing, from the memory device, one or more language files corresponding to the programming language identifier, wherein the one or more language files define a syntax corresponding to the programming language identifier; and

wherein dynamically updating the regular expression comprises using the one or more language files, including customizing the regular expression to comply with the syntax.

13. A non-transitory computer readable medium that includes computer executable instructions for generating customized regular expressions readable by a computing device, wherein when executed by a regular expression generator (REG) computing device including a processor, a display device, and a memory device, the computer executable instructions cause the REG computing device to:

receive an input string including a plurality of characters for use in generating a regular expression;

display the input string as a first array of character positions on the display device, wherein each character position of the first array is associated with a single character of the plurality of characters;

for each character position of the first array of character positions, generate one or more character patterns for the single character associated with the character position;

for each character position of the first array of character positions, display the one or more character patterns as an array of pattern options, wherein the array of pattern options is oriented on the display device to be aligned with the associated character position;

prompt the user to make a selection for one or more of the character positions of the first array of character positions;

assign a respective default character pattern of the one or more character patterns to each character position of the first array of character positions, each respective default value based on a value of the corresponding position of the input string;

generate, and display on the display device, a regular expression using the respective default character pattern for each character position of the first array of character positions;

receive, via a user interface after displaying the regular expression generated using the respective default character pattern for each character position, a series of inputs, each input of the series of inputs designating a respective user-chosen character pattern of the one or more character patterns for a corresponding character position of the first array;

dynamically update, in response to each input of the series of inputs, the regular expression displayed on the display device by substituting the respective user-chosen character pattern for the respective default character pattern;

highlight, in response to at least one instance of said dynamic update, one or more character positions of the first array of character positions for which the user has made no selection;

after receiving the series of inputs, re-generate the regular expression by automatically resolving consecutive duplicate instances of at least one of the one or more character patterns in the regular pattern into a single instance of the at least one character pattern and a special plurality character; and

display the re-generated regular expression on the display device.

14. A non-transitory computer readable medium in accordance with claim 13 , wherein the computer-executable instructions further cause the REG computing device to:

receive at least one test input string that corresponds to a user preference;

validate the regular expression using the test input string, including comparing the first character pattern to at least one test input character from the test input string; and

display a regular expression validation message on the user interface.

15. A non-transitory computer readable medium in accordance with claim 13 , wherein dynamically updating the regular expression further includes concatenating each user-chosen character pattern based on an order of each associated character position within the first array of character positions.

16. A non-transitory computer readable medium in accordance with claim 13 , wherein the computer-executable instructions further cause the REG computing device to:

receive a parameter input for the regular expression via the user interface, wherein the parameter input includes one or more of a minimum length parameter, a maximum length parameter, and a regular expression type parameter, and wherein the regular expression type parameter corresponds to a type of the regular expression to be generated.

17. A non-transitory computer readable medium in accordance with claim 13 , wherein the computer-executable instructions further cause the REG computing device to:

receive a language parameter input via the user interface, wherein the language parameter input includes a programming language identifier;

access, from the memory device, one or more language files corresponding to the programming language identifier, wherein the one or more language files define a syntax corresponding to the programming language identifier; and

wherein dynamically updating the regular expression comprises using the one or more language files, including customizing the regular expression to comply with the syntax.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2017
From: VENKATA, RAVI TEJA PRABHALA
To: MASTERCARD INTERNATIONAL INCORPORATED
Reel/Frame 042215/0221 →
Continuity (1)
Related Publication 20180321921A1 · Nov 8, 2018