IP Library Granted Patent US 8,892,580
Granted Patent B2
US 8,892,580 · App. 13/359,975 · Granted Nov 18, 2014

Transformation of regular expressions

Inventors: Clinton Syrowitz (Bellevue, WA); Mauktik Gandhi (Redmond, WA); Ashish Mishra (Seattle, WA); Manivannan Sundaram (Bothell, WA)
Assignee: Microsoft Corporation
G06F17/30985
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 8,892,580
App. No.
13/359,975
Granted
Nov 18, 2014
Kind
B2
Abstract

Techniques to transform regular expressions are described. An apparatus may comprise a processor circuit and a key terms identifying module operative on the processor circuit to generate a set of one or more regular expression key terms from enabled features of a regular expression based on a set of configuration parameters, and filter one or more electronic messages using the set of regular expression key terms. Other embodiments are described and claimed.

Claims (32)

1. A computer-implemented method, comprising:

selecting a regular expression from a set of regular expressions used to identify a text portion of a message;

retrieving a set of one or more configuration parameters arranged to limit expansion of features of the regular expression into a set of potential regular expression key terms, at least one configuration parameter operative to determine which feature to expand and which feature not to expand;

identifying a set of one or more features within the regular expression enabled by the set of configuration parameters; and

generating a set of one or more identified regular expression key terms from the enabled features of the regular expression.

2. The computer-implemented method of claim 1 , comprising retrieving a configuration parameter comprising an integer value to constrain expansion of a feature of the regular expression.

3. The computer-implemented method of claim 1 , comprising retrieving a configuration parameter comprising an integer value to constrain expansion of a feature of the regular expression, where an integer value of zero indicates that the feature should not be expanded.

4. The computer-implemented method of claim 1 , comprising retrieving a configuration parameter comprising an integer value to constrain expansion of a feature of the regular expression, where an integer value of greater than zero indicates a number of occurrences of the feature allowed before limiting expansion.

5. The computer-implemented method of claim 1 , comprising identifying the set of one or more features within the regular expression enabled by the set of configuration parameters, the one or more features comprising a grouping feature, a class feature, or an operator feature.

6. The computer-implemented method of claim 1 , comprising enumerating each of the identified features.

7. The computer-implemented method of claim 1 , comprising replacing each of the identified features with a literal representation to generate an identified regular expression key term.

8. The computer-implemented method of claim 1 , comprising applying an order of operations to the identified features in the regular expression.

9. The computer-implemented method of claim 1 , comprising extracting single characters with repetition operators from the regular expression.

10. The computer-implemented method of claim 1 , comprising extracting groupings with repetition operators from the regular expression.

11. The computer-implemented method of claim 1 , comprising extracting groupings with alternations from the regular expression.

12. The computer-implemented method of claim 1 , comprising remove redundant groupings from the regular expression.

13. The computer-implemented method of claim 1 , comprising recommending modifications to the regular expression based on the set of identified regular expression key terms.

14. One or more computer-readable storage media, comprising a memory, having stored thereon computer-executable instructions that, when executed by one or more processors of the computing system, cause a computing system to:

retrieve a set of one or more configuration parameters arranged to control expansion of features of a regular expression, at least one configuration parameter defining a value to limit expansion of at least one feature into potential regular expression key terms;

perform the expansion of the features of the regular expression using an order of operations;

generate a set of one or more regular expression key terms from the features of the regular expression based on the set of configuration parameters; and

filter electronic messages using the set of regular expression key terms.

15. The one or more computer-readable storage media of claim 14 , the computer-executable instructions that cause the computing system to identify a set of one or more features within the regular expression enabled by the set of configuration parameters, the one or more features comprising a grouping feature, a class feature, or an operator feature.

16. The one or more computer-readable storage media of claim 15 , the computer-executable instructions that cause the computing system to:

enumerate each of the identified features; and

replace each of the identified features with a literal representation comprising a string of terms to generate a regular expression key term from the regular expression.

17. The one or more computer-readable storage media of claim 15 , the computer-executable instructions that cause the computing system to apply the order of operations to the identified features in the regular expression, the order of operations comprising single characters with a repetition operator, groupings with a repetition operator, and alternations.

18. An apparatus, comprising:

a processor circuit, and

a key terms identifying module operative on the processor circuit to retrieve a set of configuration parameters of which at least one configuration parameter comprises a value to constrain expansion of a feature of the regular expression, where the value indicates when the feature is not to be expanded, generate a set of one or more regular expression key terms from enabled features of a regular expression based on a set of configuration parameters, and filter one or more electronic messages using the set of regular expression key terms.

19. The apparatus of claim 18 , the key terms identifying module operative to identify a set of one or more features within the regular expression enabled by the set of configuration parameters, the one or more features comprising a grouping feature, a class feature, or an operator feature.

20. The apparatus of claim 18 , the key terms identifying module operative to apply an order of operations to identified features in the regular expression, the order of operations comprising single characters with a repetition operator, groupings with a repetition operator, and alternations.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2012
From: SYROWITZ, CLINTON; GANDHI, MAUKTIK; MISHRA, ASHISH; SUNDARAM, MANIVANNAN
To: MICROSOFT CORPORATION
Reel/Frame 027613/0759 →
Continuity (2)
Continuation In Part 12938895 · Nov 3, 2010
Related Publication 20120124064A1 · May 17, 2012