IP Library Granted Patent US 8,522,199
Granted Patent B2
US 8,522,199 · App. 12/714,324 · Granted Aug 27, 2013

System, method, and computer program product for applying a regular expression to content based on required strings of the regular expression

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,522,199
App. No.
12/714,324
Granted
Aug 27, 2013
Kind
B2
Abstract

A system, method, and computer program product are provided for applying a regular expression to content based on required strings of the regular expression. In use, all required strings included in a regular expression are identified, the required strings including strings required by the regular expression. Additionally, it is determined whether the required strings match content. Furthermore, the regular expression is applied to the content, based on the determination.

Claims (36)

1. A computer program product embodied on a tangible computer readable medium, comprising:

computer code for identifying all required strings included in a regular expression, the required strings including strings required by the regular expression;

computer code for determining whether the required strings match content;

computer code for applying the regular expression to the content, based on the determination;

computer code for merging each of the required strings and its associated length into a separate template of code to generate a segment of code;

computer code for concatenating the generated segments of code in an order of the required strings; and

computer code for injecting the concatenated segment of code in a driver prior to a callout of the regular expression to form an updated driver.

2. The computer program product of claim 1 , wherein the computer program product is operable such that the required strings are identified by parsing the regular expression.

3. The computer program product of claim 1 , wherein the computer program product is operable such that the required strings are identified by removing optional strings from the regular expression.

4. The computer program product of claim 3 , wherein the optional strings include wildcards.

5. The computer program product of claim 1 , wherein the computer program product is operable such that the required strings are identified by removing quantity operators from the regular expression.

6. The computer program product of claim 1 , wherein the computer program product is operable such that the required strings are identified by removing back references from the regular expression when the back references are not used by the regular expression.

7. The computer program product of claim 6 , wherein the computer program product is operable such that the regular expression is validated in response to the removal of the back references, such that the determination of whether the required strings match the content is only performed in response to the validation of the regular expression.

8. The computer program product of claim 1 , wherein the computer program product is operable such that the required strings are identified in response to a determination that each of the required strings exceeds a predetermined length.

9. The computer program product of claim 1 , further comprising computer code for identifying a length of each of the required strings.

10. The computer program product of claim 1 , wherein the template of code includes elimination code for automatically terminating execution of the updated driver in response a determination that a required string merged with the template of code does not match the content, such that application of the regular expression to the content is avoided.

11. The computer program product of claim 1 , further comprising computer code for applying at least one of required strings to the content in an order in which the required strings exist in the regular expression, for determining whether the required strings match the content.

12. The computer program product of claim 11 , further comprising computer code for avoiding applying remaining ones of the required strings in response to a determination that a last applied one of the required strings does not match the content.

13. The computer program product of claim 1 , wherein the computer program product is operable such that the regular expression is not applied to the content, in response to a determination that at least one of the required strings does not match the content.

14. The computer program product of claim 1 , wherein the computer program product is operable such that the regular expression is applied to the content, in response to a determination that all of the required strings match the content.

15. A method, comprising:

identifying all required strings included in a regular expression, the required strings including strings required by the regular expression, utilizing a processor;

determining whether the required strings match content;

applying the regular expression to the content, based on the determination;

merging each of the required strings and its associated length into a separate template of code to generate a segment of code;

concatenating the generated segment of code in an order of the required string; and

injecting the concatenated segment of code in a driver prior to a callout of the regular expression to form an updated driver.

16. A system, comprising:

a processor, wherein the system is configured for:

identifying all required strings included in a regular expression, the required strings including strings required by the regular expression,

determining whether the required strings match content,

applying the regular expression to the content, based on the determination,

merging each of the required strings and its associated length into a separate template of code to generate a segment of code;

concatenating the generated segment of code in an order of the required string; and

injecting the concatenated segment of code in a driver prior to a callout of the regular expression to form an updated driver.

17. The system of claim 16 , wherein the processor is coupled to memory via a bus.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2010
From: BEVERIDGE, DAVID NEILL; COCHIN, CEDRIC
To: MCAFEE, INC.
Reel/Frame 024003/0766 →