# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(my date of birth is|my birthdate is|my birthday is|my bday is|i was born on|date of birth is|dob is|birthdate is|my dob is|birthday|birth date is)*(\s)*(((0)[0-9])|((1)[0-2])|(January|Jan|February|Feb|March|Mar|April|Apr|May|June|Jun|July|Jul|August|Aug|September|Sep|October|Oct|November|Nov|December|Dec))(\\/|.|-)([0-2][0-9]|(3)[0-1])(\\/|.|-)\d{2,4}/$1/gi;t' <<< "1. dob is 12-19-1994
2. 1234
3. 4567
4. 09/19/1993
5. Mar 14 1954
6. asd
7. dob is 12-12-1234
8. 4456
9. 352345
12345678
09-19-1993
09.19.1993
\"09.19.1993\"
january 10 2021
09191993"
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 SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html