Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
Processing...

Test String

Code Generator

Generated Code

import re regex = re.compile(r"<a.+?href=\"(?<href>.*?)\".*?>.*?<\/a>", flags=re.MULTILINE) test_str = ("<a href=\"fff\">bar</a>\n" "<a href=\"fff\" required>bar</a>\n\n" "<feed xml:lang=\"en\">\n" "<id>https://cheatsheetseries.owasp.org/</id>\n" "<title>OWASP Cheat Sheet Series update</title>\n" "<updated>2021-01-07T13:50:35+00:00</updated>\n" "<author>\n" "<name>Core team</name>\n" "<email>dominique.righetto@owasp.org</email>\n" "</author>\n" "<link href=\"https://cheatsheetseries.owasp.org\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries\" rel=\"alternate\"/>\n" "<generator uri=\"https://lkiesow.github.io/python-feedgen\" version=\"0.9.0\">python-feedgen</generator>\n" "<icon>\n" "https://cheatsheetseries.owasp.org/gitbook/images/favicon.ico\n" "</icon>\n" "<subtitle>List of the last updates on the content</subtitle>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/379</id>\n" "<title>Fix contributing links</title>\n" "<updated>2020-03-30T20:30:31+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/379\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/379\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>mackowski</name>\n" "<uri>https://github.com/mackowski</uri>\n" "</contributor>\n" "<published>2020-03-30T20:30:31+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/381</id>\n" "<title>add OWASP Threat Dragon and expand on MS TMT</title>\n" "<updated>2020-04-02T19:15:31+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/381\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/381\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>jgadsden</name>\n" "<uri>https://github.com/jgadsden</uri>\n" "</contributor>\n" "<published>2020-04-02T19:15:31+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/382</id>\n" "<title>Point to the correct Angular docs</title>\n" "<updated>2020-04-02T18:31:35+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/382\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/382\" rel=\"alternate\"/>\n" "<published>2020-04-02T18:31:35+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/384</id>\n" "<title>Fixing links on CSRF prevention cheat sheet</title>\n" "<updated>2020-04-15T18:30:39+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/384\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/384\" rel=\"alternate\"/>\n" "<published>2020-04-15T18:30:39+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/387</id>\n" "<title>Migration to mkdocs</title>\n" "<updated>2020-05-31T13:41:29+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/387\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/387\" rel=\"alternate\"/>\n" "<published>2020-05-31T13:41:29+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/388</id>\n" "<title>Chore/update lint config</title>\n" "<updated>2020-05-23T19:52:09+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/388\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/388\" rel=\"alternate\"/>\n" "<published>2020-05-23T19:52:09+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/391</id>\n" "<title>\n" "Clarify maximum password length guidelines in authentication CS. Fixe…\n" "</title>\n" "<updated>2020-05-21T06:55:14+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/391\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/391\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>rbsec</name>\n" "<uri>https://github.com/rbsec</uri>\n" "</contributor>\n" "<published>2020-05-21T06:55:14+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/392</id>\n" "<title>OS Command Injection - Grammar/Typo Fixes</title>\n" "<updated>2020-05-16T17:12:26+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/392\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/392\" rel=\"alternate\"/>\n" "<published>2020-05-16T17:12:26+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/396</id>\n" "<title> chore: 4 spaces tabs</title>\n" "<updated>2020-05-27T19:20:17+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/396\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/396\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>ThunderSon</name>\n" "<uri>https://github.com/ThunderSon</uri>\n" "</contributor>\n" "<published>2020-05-27T19:20:17+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/397</id>\n" "<title>chore: lint Indexes and Preface</title>\n" "<updated>2020-05-27T19:40:33+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/397\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/397\" rel=\"alternate\"/>\n" "<published>2020-05-27T19:40:33+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/398</id>\n" "<title>Typo fix in SSRF Cheat Sheet</title>\n" "<updated>2020-05-31T14:10:03+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/398\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/398\" rel=\"alternate\"/>\n" "<published>2020-05-31T14:10:03+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/399</id>\n" "<title>Fix typo in NodeJS Cheat Sheet</title>\n" "<updated>2020-06-01T19:10:18+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/399\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/399\" rel=\"alternate\"/>\n" "<published>2020-06-01T19:10:18+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/401</id>\n" "<title>Add outline for Authorization Cheat Sheet</title>\n" "<updated>2020-06-08T10:12:55+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/401\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/401\" rel=\"alternate\"/>\n" "<published>2020-06-08T10:12:55+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/402</id>\n" "<title>\n" "Improve the inclusivity of the language in Access_Control_Cheat_Sheet.md\n" "</title>\n" "<updated>2020-06-02T12:33:34+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/402\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/402\" rel=\"alternate\"/>\n" "<published>2020-06-02T12:33:34+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/403</id>\n" "<title>Chore: Broken Links</title>\n" "<updated>2020-06-03T21:16:51+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/403\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/403\" rel=\"alternate\"/>\n" "<published>2020-06-03T21:16:51+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/404</id>\n" "<title>Feat/update threatmodeling cs</title>\n" "<updated>2020-06-18T11:41:04+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/404\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/404\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>ThunderSon</name>\n" "<uri>https://github.com/ThunderSon</uri>\n" "</contributor>\n" "<published>2020-06-18T11:41:04+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/405</id>\n" "<title>Remove table of contents</title>\n" "<updated>2020-06-03T21:32:56+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/405\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/405\" rel=\"alternate\"/>\n" "<published>2020-06-03T21:32:56+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/407</id>\n" "<title>Removed typo space causing rendering problems</title>\n" "<updated>2020-06-05T07:17:48+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/407\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/407\" rel=\"alternate\"/>\n" "<published>2020-06-05T07:17:48+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/408</id>\n" "<title>Remove Whitespace Characters Before CodeBlocks</title>\n" "<updated>2020-06-05T12:43:09+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/408\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/408\" rel=\"alternate\"/>\n" "<published>2020-06-05T12:43:09+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/409</id>\n" "<title>\n" "Remove a few trailing commas from the function table\n" "</title>\n" "<updated>2020-06-06T14:38:01+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/409\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/409\" rel=\"alternate\"/>\n" "<published>2020-06-06T14:38:01+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/410</id>\n" "<title>Forgot Password CS Rewrite</title>\n" "<updated>2020-06-22T05:57:39+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/410\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/410\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>ThunderSon</name>\n" "<uri>https://github.com/ThunderSon</uri>\n" "</contributor>\n" "<published>2020-06-22T05:57:39+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/411</id>\n" "<title>Fix up formating in CSP CS</title>\n" "<updated>2020-06-06T18:56:42+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/411\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/411\" rel=\"alternate\"/>\n" "<published>2020-06-06T18:56:42+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/414</id>\n" "<title>Correct terms spelling Github -> GitHub</title>\n" "<updated>2020-06-07T09:09:26+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/414\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/414\" rel=\"alternate\"/>\n" "<published>2020-06-07T09:09:26+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/415</id>\n" "<title>Fix markdown style to pass CI</title>\n" "<updated>2020-06-07T09:08:37+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/415\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/415\" rel=\"alternate\"/>\n" "<published>2020-06-07T09:08:37+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/416</id>\n" "<title>MD040 Code-Fencing Disabled</title>\n" "<updated>2020-06-07T09:23:56+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/416\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/416\" rel=\"alternate\"/>\n" "<published>2020-06-07T09:23:56+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/418</id>\n" "<title>Update XML CS with Python 2 EOL</title>\n" "<updated>2020-06-07T13:12:28+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/418\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/418\" rel=\"alternate\"/>\n" "<published>2020-06-07T13:12:28+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/419</id>\n" "<title>[chore] Fix typos</title>\n" "<updated>2020-06-13T20:55:30+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/419\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/419\" rel=\"alternate\"/>\n" "<published>2020-06-13T20:55:30+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/422</id>\n" "<title>\n" "Grammar update in the Access_Control_Cheat_Sheet.md cheatsheet.\n" "</title>\n" "<updated>2020-06-16T08:14:41+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/422\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/422\" rel=\"alternate\"/>\n" "<published>2020-06-16T08:14:41+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/426</id>\n" "<title>Grammar update in Docker_Security_Cheat_Sheet</title>\n" "<updated>2020-06-17T06:50:51+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/426\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/426\" rel=\"alternate\"/>\n" "<published>2020-06-17T06:50:51+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/428</id>\n" "<title>Add textlint and its config</title>\n" "<updated>2020-07-14T12:59:05+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/428\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/428\" rel=\"alternate\"/>\n" "<published>2020-07-14T12:59:05+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/429</id>\n" "<title>\n" "Update contributation guidelines as the ToC is not longer needed\n" "</title>\n" "<updated>2020-06-21T12:55:13+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/429\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/429\" rel=\"alternate\"/>\n" "<published>2020-06-21T12:55:13+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/430</id>\n" "<title>NodeJS Backticks HTML elements</title>\n" "<updated>2020-06-22T09:03:28+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/430\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/430\" rel=\"alternate\"/>\n" "<published>2020-06-22T09:03:28+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/431</id>\n" "<title>Updated grammar in web service security cheatsheet</title>\n" "<updated>2020-06-22T19:18:30+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/431\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/431\" rel=\"alternate\"/>\n" "<published>2020-06-22T19:18:30+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/432</id>\n" "<title>Update link in XXE CS</title>\n" "<updated>2020-06-22T20:55:12+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/432\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/432\" rel=\"alternate\"/>\n" "<published>2020-06-22T20:55:12+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/433</id>\n" "<title>README Rewrite</title>\n" "<updated>2020-06-25T20:11:52+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/433\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/433\" rel=\"alternate\"/>\n" "<published>2020-06-25T20:11:52+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/434</id>\n" "<title>New CS: GraphQL</title>\n" "<updated>2020-10-30T14:23:28+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/434\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/434\" rel=\"alternate\"/>\n" "<published>2020-10-30T14:23:28+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/436</id>\n" "<title>\n" "Add recommendation to disable xp_dirtree and CLR execution\n" "</title>\n" "<updated>2020-07-06T16:05:52+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/436\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/436\" rel=\"alternate\"/>\n" "<published>2020-07-06T16:05:52+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/437</id>\n" "<title>Fix typo</title>\n" "<updated>2020-07-17T14:51:33+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/437\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/437\" rel=\"alternate\"/>\n" "<published>2020-07-17T14:51:33+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/439</id>\n" "<title>Fix link: Pre-Hashing Passwords</title>\n" "<updated>2020-07-04T10:00:54+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/439\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/439\" rel=\"alternate\"/>\n" "<published>2020-07-04T10:00:54+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/444</id>\n" "<title>Update cookie prefix compatibility. Fixes #443</title>\n" "<updated>2020-07-15T10:35:05+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/444\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/444\" rel=\"alternate\"/>\n" "<published>2020-07-15T10:35:05+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/446</id>\n" "<title>\n" "Replace hash with HMAC and clarify language. Fixes #442\n" "</title>\n" "<updated>2020-07-18T21:48:13+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/446\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/446\" rel=\"alternate\"/>\n" "<published>2020-07-18T21:48:13+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/447</id>\n" "<title>\n" "Update recommendation for public key pinning. Fixes #441\n" "</title>\n" "<updated>2020-07-23T09:57:22+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/447\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/447\" rel=\"alternate\"/>\n" "<published>2020-07-23T09:57:22+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/449</id>\n" "<title>\n" "Issue #438 - Improve XSS cheatsheet to address escape/encode confusion\n" "</title>\n" "<updated>2020-07-23T07:05:40+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/449\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/449\" rel=\"alternate\"/>\n" "<published>2020-07-23T07:05:40+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/452</id>\n" "<title>Remove rbsec from project team</title>\n" "<updated>2020-07-28T16:49:14+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/452\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/452\" rel=\"alternate\"/>\n" "<published>2020-07-28T16:49:14+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/453</id>\n" "<title>Update REST_Security_Cheat_Sheet.md</title>\n" "<updated>2020-07-30T15:25:18+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/453\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/453\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>mackowski</name>\n" "<uri>https://github.com/mackowski</uri>\n" "</contributor>\n" "<published>2020-07-30T15:25:18+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/456</id>\n" "<title>\n" "Changes to CODEOWNERS and update linter fixed for C-hardening\n" "</title>\n" "<updated>2020-07-30T16:12:04+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/456\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/456\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>mackowski</name>\n" "<uri>https://github.com/mackowski</uri>\n" "</contributor>\n" "<published>2020-07-30T16:12:04+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/458</id>\n" "<title>Updated Session_Management_Cheat_Sheet.md</title>\n" "<updated>2020-07-30T18:28:58+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/458\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/458\" rel=\"alternate\"/>\n" "<published>2020-07-30T18:28:58+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/459</id>\n" "<title>Using the Oracle XML Parser Safely</title>\n" "<updated>2020-08-05T06:16:00+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/459\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/459\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>mackowski</name>\n" "<uri>https://github.com/mackowski</uri>\n" "</contributor>\n" "<published>2020-08-05T06:16:00+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/460</id>\n" "<title>\n" "Update explanations around pre-hashing passwords. Fixes #450\n" "</title>\n" "<updated>2020-08-05T06:16:49+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/460\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/460\" rel=\"alternate\"/>\n" "<contributor>\n" "<name>mackowski</name>\n" "<uri>https://github.com/mackowski</uri>\n" "</contributor>\n" "<published>2020-08-05T06:16:49+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/462</id>\n" "<title>Adding Semgrep Rules for SSRF in Java</title>\n" "<updated>2020-09-07T08:32:57+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/462\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/462\" rel=\"alternate\"/>\n" "<published>2020-09-07T08:32:57+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/463</id>\n" "<title>Fix typos plus markdown in CSRF cheatsheet</title>\n" "<updated>2020-08-06T06:26:09+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/463\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/463\" rel=\"alternate\"/>\n" "<published>2020-08-06T06:26:09+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/466</id>\n" "<title>Remove link to article to address HPKP</title>\n" "<updated>2020-08-07T06:35:14+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/466\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/466\" rel=\"alternate\"/>\n" "<published>2020-08-07T06:35:14+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/468</id>\n" "<title>added hints for using both features together</title>\n" "<updated>2020-08-12T16:37:29+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/468\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/468\" rel=\"alternate\"/>\n" "<published>2020-08-12T16:37:29+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/470</id>\n" "<title>\n" "New CS proposal: Kubernetes Security Cheatsheet #465\n" "</title>\n" "<updated>2020-09-01T14:52:53+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/470\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/470\" rel=\"alternate\"/>\n" "<published>2020-09-01T14:52:53+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/475</id>\n" "<title>\n" "[Session management] Add common session absolute timeouts\n" "</title>\n" "<updated>2020-08-31T09:31:18+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/475\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/475\" rel=\"alternate\"/>\n" "<published>2020-08-31T09:31:18+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/478</id>\n" "<title>Update Authorization CS draft</title>\n" "<updated>2020-09-17T02:06:22+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/478\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/478\" rel=\"alternate\"/>\n" "<published>2020-09-17T02:06:22+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/480</id>\n" "<title>Fix deadlinks</title>\n" "<updated>2020-09-07T08:24:49+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/480\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/480\" rel=\"alternate\"/>\n" "<published>2020-09-07T08:24:49+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/481</id>\n" "<title>\n" "Web Services Security: Add \"Resources Limiting\" sub-section under \"Availability\"\n" "</title>\n" "<updated>2020-09-14T11:46:37+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/481\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/481\" rel=\"alternate\"/>\n" "<published>2020-09-14T11:46:37+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/484</id>\n" "<title>\n" "TLS_CIPHER_STRING_CHEAT_SHEET Fixed inconsistencies\n" "</title>\n" "<updated>2020-09-10T14:11:21+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/484\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/484\" rel=\"alternate\"/>\n" "<published>2020-09-10T14:11:21+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/485</id>\n" "<title>XXE Semgrep Rules</title>\n" "<updated>2020-09-17T02:05:33+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/485\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/485\" rel=\"alternate\"/>\n" "<published>2020-09-17T02:05:33+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/487</id>\n" "<title>Fix wrong word choice, account -> attack</title>\n" "<updated>2020-09-16T10:30:30+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/487\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/487\" rel=\"alternate\"/>\n" "<published>2020-09-16T10:30:30+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/489</id>\n" "<title>\n" "Remove potentially misleading advice re JAXB on OpenJDK 1.8\n" "</title>\n" "<updated>2020-09-17T02:03:42+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/489\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/489\" rel=\"alternate\"/>\n" "<published>2020-09-17T02:03:42+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/491</id>\n" "<title>New CS Microservice security</title>\n" "<updated>2020-10-13T07:20:55+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/491\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/491\" rel=\"alternate\"/>\n" "<published>2020-10-13T07:20:55+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/493</id>\n" "<title>\n" "Make introductory section of threat modeling CS clearer\n" "</title>\n" "<updated>2020-10-01T02:09:26+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/493\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/493\" rel=\"alternate\"/>\n" "<published>2020-10-01T02:09:26+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/495</id>\n" "<title>Authorization Cheat Sheet</title>\n" "<updated>2020-10-28T09:44:51+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/495\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/495\" rel=\"alternate\"/>\n" "<published>2020-10-28T09:44:51+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/496</id>\n" "<title>Update K8s Security CS with Service mesh & OPA</title>\n" "<updated>2020-11-09T09:30:59+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/496\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/496\" rel=\"alternate\"/>\n" "<published>2020-11-09T09:30:59+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/497</id>\n" "<title>Fix (typo): Fixes #477</title>\n" "<updated>2020-10-13T07:16:25+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/497\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/497\" rel=\"alternate\"/>\n" "<published>2020-10-13T07:16:25+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/499</id>\n" "<title>Update Password_Storage_Cheat_Sheet.md</title>\n" "<updated>2020-10-12T21:31:49+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/499\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/499\" rel=\"alternate\"/>\n" "<published>2020-10-12T21:31:49+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/500</id>\n" "<title>Session Management: Fix slashes after an origin</title>\n" "<updated>2020-10-13T07:15:36+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/500\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/500\" rel=\"alternate\"/>\n" "<published>2020-10-13T07:15:36+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/502</id>\n" "<title>\n" "Fix of the bug that prevents us to update new offline site\n" "</title>\n" "<updated>2020-10-27T17:23:24+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/502\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/502\" rel=\"alternate\"/>\n" "<published>2020-10-27T17:23:24+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/503</id>\n" "<title>\n" "Adding a referene for default CSRF protection in Angular JS\n" "</title>\n" "<updated>2020-10-28T09:36:19+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/503\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/503\" rel=\"alternate\"/>\n" "<published>2020-10-28T09:36:19+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/505</id>\n" "<title>Update Docker_Security_Cheat_Sheet.md</title>\n" "<updated>2020-11-09T09:33:43+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/505\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/505\" rel=\"alternate\"/>\n" "<published>2020-11-09T09:33:43+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/506</id>\n" "<title>Minor fix in crypto storage CS</title>\n" "<updated>2020-10-27T17:11:32+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/506\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/506\" rel=\"alternate\"/>\n" "<published>2020-10-27T17:11:32+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/507</id>\n" "<title>chore: spelling errors</title>\n" "<updated>2021-01-04T09:25:37+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/507\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/507\" rel=\"alternate\"/>\n" "<published>2021-01-04T09:25:37+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/509</id>\n" "<title>Add notable tls checkers</title>\n" "<updated>2020-10-27T17:14:16+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/509\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/509\" rel=\"alternate\"/>\n" "<published>2020-10-27T17:14:16+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/510</id>\n" "<title>Update Session_Management_Cheat_Sheet.md</title>\n" "<updated>2020-10-27T17:17:01+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/510\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/510\" rel=\"alternate\"/>\n" "<published>2020-10-27T17:17:01+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/511</id>\n" "<title>Fix typo in CSRF prevention cheat sheet</title>\n" "<updated>2020-10-29T08:57:31+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/511\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/511\" rel=\"alternate\"/>\n" "<published>2020-10-29T08:57:31+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/512</id>\n" "<title>Minor title and filename typo</title>\n" "<updated>2020-11-09T09:23:25+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/512\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/512\" rel=\"alternate\"/>\n" "<published>2020-11-09T09:23:25+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/513</id>\n" "<title>Update Error_Handling_Cheat_Sheet.md issue #285</title>\n" "<updated>2020-11-09T09:22:20+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/513\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/513\" rel=\"alternate\"/>\n" "<published>2020-11-09T09:22:20+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/516</id>\n" "<title>XSS: remove forward slash</title>\n" "<updated>2020-11-09T08:45:33+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/516\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/516\" rel=\"alternate\"/>\n" "<published>2020-11-09T08:45:33+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/518</id>\n" "<title>Office 365 now supports sub-addressing</title>\n" "<updated>2020-11-16T12:11:01+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/518\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/518\" rel=\"alternate\"/>\n" "<published>2020-11-16T12:11:01+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/519</id>\n" "<title>Updated SameSite support stats</title>\n" "<updated>2020-11-25T12:26:59+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/519\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/519\" rel=\"alternate\"/>\n" "<published>2020-11-25T12:26:59+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/522</id>\n" "<title>Update HIBP link to latest (v3) version of API</title>\n" "<updated>2021-01-04T09:25:11+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/522\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/522\" rel=\"alternate\"/>\n" "<published>2021-01-04T09:25:11+00:00</published>\n" "</entry>\n" "<entry>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/524</id>\n" "<title>Extend Web Storage</title>\n" "<updated>2021-01-04T09:32:47+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/524\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/524\" rel=\"alternate\"/>\n" "<published>2021-01-04T09:32:47+00:00</published>\n" "</entry>\n" "<entry>\n" "<id>https://github.com/OWASP/CheatSheetSeries/pull/525</id>\n" "<title>\n" "Moved the Kubernetes security cheatsheet to cheatsheets folder\n" "</title>\n" "<updated>2021-01-07T13:49:19+00:00</updated>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/525\" rel=\"self\"/>\n" "<link href=\"https://github.com/OWASP/CheatSheetSeries/pull/525\" rel=\"alternate\"/>\n" "<published>2021-01-07T13:49:19+00:00</published>\n" "</entry>\n" "</feed>") matches = regex.finditer(test_str) for match_num, match in enumerate(matches, start=1): print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}") for group_num, group in enumerate(match.groups(), start=1): print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html