正则表达式最多可替换单词前的 4 位数字
Regex to replace up to 4 digits before a word
我正在为 chrome 使用此扩展(它称为 Word Replacer II),我正在尝试创建一个 Regex 查找和替换。
快速背景故事,我的伙伴正在从饮食失调中恢复过来,我想找到所有提及千焦耳和 kJs 的内容并将它们替换为 .
我对 Regex 完全陌生,几个小时后,我离获得一个有效的表达式并没有多远。
我需要它最多删除字母“kJs”前的 4 位数字。例如,400kJs 和 1000kJs。我希望将“400kJs 和 1000kJs”替换为“[removed kJs] 和 [removed kJs]”。
到目前为止我整理的代码是;
\s+(a{1,4}<=\d)\s+(?=kJ)
非常感谢您的帮助!
您可以使用以下方法:
\d{1,4}\s*kJs\b
如果您需要保留 kJs
,您可以将模式的右侧部分用前瞻性包装起来,\d{1,4}(?=\s*kJs\b)
。
如果您不想触摸 5 位或更多数字,请使用
\b\d{1,4}\s*kJs\b
(?<!\d)\d{1,4}\s*kJs\b
即添加一个单词边界,\b
,或一个左侧数字边界,(?<!\d)
。
图案详情
\d{1,4}
- 一到四位数
\s*
- 0+ 个空格
kJs
- 一串字母
\b
- 单词边界(如果没有以 kJs
开头的单词,则可能没有必要)。
我正在为 chrome 使用此扩展(它称为 Word Replacer II),我正在尝试创建一个 Regex 查找和替换。
快速背景故事,我的伙伴正在从饮食失调中恢复过来,我想找到所有提及千焦耳和 kJs 的内容并将它们替换为 .
我对 Regex 完全陌生,几个小时后,我离获得一个有效的表达式并没有多远。
我需要它最多删除字母“kJs”前的 4 位数字。例如,400kJs 和 1000kJs。我希望将“400kJs 和 1000kJs”替换为“[removed kJs] 和 [removed kJs]”。
到目前为止我整理的代码是;
\s+(a{1,4}<=\d)\s+(?=kJ)
非常感谢您的帮助!
您可以使用以下方法:
\d{1,4}\s*kJs\b
如果您需要保留 kJs
,您可以将模式的右侧部分用前瞻性包装起来,\d{1,4}(?=\s*kJs\b)
。
如果您不想触摸 5 位或更多数字,请使用
\b\d{1,4}\s*kJs\b
(?<!\d)\d{1,4}\s*kJs\b
即添加一个单词边界,\b
,或一个左侧数字边界,(?<!\d)
。
图案详情
\d{1,4}
- 一到四位数\s*
- 0+ 个空格kJs
- 一串字母\b
- 单词边界(如果没有以kJs
开头的单词,则可能没有必要)。