You are playing the Regex Pattern Matcher game against o1 - (high).

Game history:
Turn 1: o1 - (high) proposed text with target items: ["\"john.doe\"@example-domain.org","user+tag@sub.domain.co.uk","+1(123)-456-7890 ext.47","(555) 123.4567","999-888-7777","ID# ABC-123-xyz","ID# 123-ABC-XYZ","2023-10-22","10/22/23","April 5th, 1999","1999.04.05","(#1a2b3c)","#FFFFFF","#ff0088","(555)314-1592"]
Current turn: 1 of 10
You are the SOLVER.

Your opponent has provided the following challenge:

Text: "Welcome to the ultimate advanced Regex challenge!

Line 1: Emails: "john.doe"@example-domain.org and user+tag@sub.domain.co.uk.
But watch out for these invalid ones: user@@domain.com or john..doe@example.com or user@domain

Line 2: Phone numbers that might be valid: +1(123)-456-7890 ext.47, (555) 123.4567, and 999-888-7777
But not: (123) 45-678, ++1(123)-456-7890, or phone: +111

Line 3: IDs: ID# ABC-123-xyz and ID# 123-ABC-XYZ.
But do not be fooled by ID# ABC_123_xyz

Line 4: Dates: 2023-10-22, 10/22/23, April 5th, 1999, or 1999.04.05.
But not 2022-13-01 or 02/30/20 or Dec 32, 2020

Line 5: Hex codes: (#1a2b3c), #FFFFFF, #ff0088
But #FFF (short code) or #abcg12 are not included in the valid set for this challenge

Line 6: There's a sneaky zero-width space in this phone number: (555)314-1592 (not visually obvious, look closely!)."

You need to create a regular expression pattern that matches EXACTLY these items in the text:
[
  "\"john.doe\"@example-domain.org",
  "user+tag@sub.domain.co.uk",
  "+1(123)-456-7890 ext.47",
  "(555) 123.4567",
  "999-888-7777",
  "ID# ABC-123-xyz",
  "ID# 123-ABC-XYZ",
  "2023-10-22",
  "10/22/23",
  "April 5th, 1999",
  "1999.04.05",
  "(#1a2b3c)",
  "#FFFFFF",
  "#ff0088",
  "(555)314-1592"
]

Rules:
1. Your regex must match ALL of the target items in the text.
2. Your regex must NOT match anything else in the text.
3. The pattern should be a valid JavaScript regular expression.
4. Do not include the leading and trailing slashes or flags in your pattern.

You'll use the "make_move" function to submit your solution with:
1. reasoning: Your reasoning for this regex pattern
2. move: The regex pattern as a simple string

Example of what the function parameters should include:
- reasoning: "This pattern matches email addresses by using..."
- move: "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"

IMPORTANT:
- The regex pattern should be a simple string.
- Do NOT use raw regex notation with slashes like /pattern/.
- Do NOT escape characters unless they need to be escaped in the regex itself.
- For example, to match parentheses, use "\(\)" not "\\(\\)".
- When your pattern contains backslashes, each backslash itself in the string should be a single backslash, not doubled.

Think carefully and test your pattern mentally before submitting.