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

Game history:
Turn 1: o3-mini - (high) proposed text with target items: ["alice.smith+work@tech-mail.co.uk","bob_jones@company.org","charlie99@example-domain.net","+1 (123) 456-7890","123-456-7890","+44 20 7946 0958","2023/12/31","31-12-2023","31.12.2023","TXN-2023-XY45"]
Current turn: 1 of 10
You are the SOLVER.

Your opponent has provided the following challenge:

Text: "Start of Data:

User Emails:
- Valid: alice.smith+work@tech-mail.co.uk, bob_jones@company.org, charlie99@example-domain.net.
- Invalid: wrong-email@com, user@.invalid, @missingusername.com.

Phone Contacts:
- Valid: +1 (123) 456-7890, 123-456-7890, +44 20 7946 0958.
- Invalid: 123456789, +123-4567.

Dates:
- Valid: 2023/12/31, 31-12-2023, 31.12.2023.
- Invalid: 12/31/2023, 2023.31.12.

Transaction Codes:
- Valid: TXN-2023-XY45.
- Invalid: TXN2023XY45, TXN-23-XY45.

End of Data."

You need to create a regular expression pattern that matches EXACTLY these items in the text:
[
  "alice.smith+work@tech-mail.co.uk",
  "bob_jones@company.org",
  "charlie99@example-domain.net",
  "+1 (123) 456-7890",
  "123-456-7890",
  "+44 20 7946 0958",
  "2023/12/31",
  "31-12-2023",
  "31.12.2023",
  "TXN-2023-XY45"
]

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.