Regex 如何使用正则表达式匹配以数字开头以结尾的句子)

Regex 如何使用正则表达式匹配以数字开头以结尾的句子),regex,Regex,我正在尝试匹配结肠后的温度范围: Temperature Range: 44 F to 64 F / 7 C to 18 C (upper) and 51 F to 64 F / 11 C to 18 C (lower) 因此,该值的格式是,该字符串始终位于冒号之后,以数字开头,以右括号“)”结尾。我有办法在正则表达式中匹配这个吗 我尝试过这个方法,但不起作用: Temperature Range:\s*(^\d*.*\)$) 因此它以\d开头,以(结尾) 我能知道怎么了吗 另外,我不是在用

我正在尝试匹配结肠后的温度范围:

Temperature Range: 44 F to 64 F / 7 C to 18 C (upper) and 51 F to 64 F / 11 C to 18 C (lower)
因此,该值的格式是,该字符串始终位于冒号之后,以数字开头,以右括号“)”结尾。我有办法在正则表达式中匹配这个吗

我尝试过这个方法,但不起作用:

Temperature Range:\s*(^\d*.*\)$)
因此它以\d开头,以(结尾)

我能知道怎么了吗

另外,我不是在用任何编程语言编写正则表达式。我只是在一个网页抓取工具中编写正则表达式


谢谢大家!

这里有一个更新的正则表达式,应该适合您:

Temperature Range:\s*(\d+.*\))$
                      ^ ^

^
是正则表达式中字符串锚点的开始,它会导致正则表达式无法与输入字符串匹配。另外,由于可选空格(
\s*
)后面必须有数字,我建议使用
+
(1次或多次出现)量词和
\d

如果您的字符串可以以任何内容开头,而不仅仅是“温度范围”,则可以用延迟点匹配替换它。
*?

^.*?:\s*(\d+.*\))$
 ^^^

请参见

这里是一个适用于您的更新正则表达式:

Temperature Range:\s*(\d+.*\))$
                      ^ ^

^
是正则表达式中字符串锚点的开始,它会导致正则表达式无法与输入字符串匹配。另外,由于可选空格(
\s*
)后面必须有数字,我建议使用
+
(1次或多次出现)量词和
\d

如果您的字符串可以以任何内容开头,而不仅仅是“温度范围”,则可以用延迟点匹配替换它。
*?

^.*?:\s*(\d+.*\))$
 ^^^

请参见

导致不匹配的是
^
。你把它放在那里的目的是什么?把它放在最开始的地方,你应该会得到一个匹配。但是我只想要冒号后面的值(我不想要“温度范围”),这就是为什么我把paradensis放在\s*后面。那就来吧(.Right?
^
是一个锚定标记,在字符串的开头匹配。在本例中,如果将其放置在除开头以外的任何位置,则将无法获得匹配项。括号负责捕获内容,并将其放置在正确的位置。您可以在此处放置,只需从regexThe中删除^
^
导致不匹配。将其放在那里的目的是什么?将其放在最开始处,您应该会得到匹配。但我只希望值位于冒号之后(我不希望“温度范围”),这就是为什么我将偏执放在\s*之后。因此^(.Right?
^
是一个锚定标记,在字符串的开头匹配。在本例中,如果将其放置在除开头以外的任何位置,将无法获得匹配项。括号负责捕获内容,并且将其放置在正确的位置。您可以在此处放置,只需从正则表达式中删除^