Regex 我需要正则表达式来替换除某些文本以外的所有内容
我想编写一个正则表达式,它可以按以下示例的格式提取时间数据: 2 Hours 2 hours 2 Hours 30 minutes 2.5 hourRegex 我需要正则表达式来替换除某些文本以外的所有内容,regex,Regex,我想编写一个正则表达式,它可以按以下示例的格式提取时间数据: 2 Hours 2 hours 2 Hours 30 minutes 2.5 hour 但当我测试它时,它分别匹配字符“our”和“in”。我只想匹配单词'Hour'和'Hour',而不是它们的字符子集。也许可以试试这样的方法 (\d+(?:\.\d+)?)\s(?:H|h)ours?(?:\s(\d+)\s(?:M|m)inutes?)? 第一组是小时数,第二组是分钟数,下面的正则表达式将为您提供: ^(\d+(\.\d+)(H
但当我测试它时,它分别匹配字符“our”和“in”。我只想匹配单词'Hour'和'Hour',而不是它们的字符子集。也许可以试试这样的方法
(\d+(?:\.\d+)?)\s(?:H|h)ours?(?:\s(\d+)\s(?:M|m)inutes?)?
第一组是小时数,第二组是分钟数,下面的正则表达式将为您提供:
^(\d+(\.\d+)(H | H)我们的(\d+(m | m)in(utes?)$
第一个捕获的组\1
或$1
就是您想要的。它将包含整个相关字符串
演示:对于PHP
(PCRE),您可以使用:
/((?:\d+(?:[.\d]+)?\s+hours?)(?:\s+\d+?\s+minutes?)?)/i
演示->您能给我们提供准确输入和准确预期输出的示例吗?您知道什么是字符类吗?(详细说明一下,如果您的正则表达式包含在
[
和]
?)中,您使用的是哪种编程语言?哇,令人惊讶的是,我们的答案竟然如此相似!
/((?:\d+(?:[.\d]+)?\s+hours?)(?:\s+\d+?\s+minutes?)?)/i