Skip to content

Commit ad4d004

Browse files
committed
Capture Player{ID} edge case
1 parent ce9c59f commit ad4d004

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

kaggle_environments/envs/werewolf/scripts/add_audio.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ def replace_names(self, text: str) -> str:
126126
for agent_id in sorted_ids:
127127
display_name = self.id_to_display[agent_id]
128128
if agent_id != display_name:
129-
# Use regex for whole word matching
130-
pattern = r'\b' + re.escape(agent_id) + r'\b'
129+
# Use regex for whole word matching, optionally consuming "Player" prefix
130+
pattern = r'\b(?:Player\s*)?' + re.escape(agent_id) + r'\b'
131131
text = re.sub(pattern, display_name, text)
132132

133133
return text

web/core/src/transformers/werewolf/nameReplacer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,9 @@ export function createNameReplacer(
9090
// - (\.?) - Captures optional trailing period (preserved in replacement)
9191
// - (?![\w-]) - Not followed by word char or hyphen
9292
const escapedName = characterName.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
93+
// Update: Handle optional "Player" prefix (e.g. "PlayerKai") by consuming it (non-capturing group)
9394
const regex = new RegExp(
94-
`(^|[^\\w.-])(${escapedName})(\\.?)(?![\\w-])`,
95+
`(^|[^\\w.-])(?:Player\\s*)?(${escapedName})(\\.?)(?![\\w-])`,
9596
'g'
9697
);
9798

0 commit comments

Comments
 (0)