正则表达式 在线

613正则表达式 - 匹配规则

^\-?[0-9]+(\.[0-9])?$

上面这个正则表达式会匹配到 0000.1111 这样的数,精确不到 0.1111,是失败的。

^[-]{0,1}(0{1}|[1-9]{1,})(\.[0-9])?$

如果改成上面这样,会匹配不到 101.11,也是失败的,可以改成如下形式:

^\-?(0{1}|([1-9]+[0-9]*))(\.[0-9])?$

612正则表达式 - 匹配规则

楼上的正式表达式会匹配到 101.11 是失败的,可以改成:

/^[-]?(0{1}|[1-9]+[0-9]*)(\.[0-9]+)?$/

611正则表达式 - 匹配规则

^[-]?[0-9]+(\.[0-9]+)?$

上面这个正则会匹配到 0000.1111 这样的数,为了让它精准匹配 0.111 这样的数,可以改成:

^[-]?(0{1}|[1-9]+)(\.[0-9]+)?$

610正则表达式 - 语法

re.sub(r'(\b[A-z]+) \1',r'\1','Cat In The The Hat')

使用上面的正则会输出: Cat In The Hat

如果把里面的 + 换成 *,如:

re.sub(r'(\b[A-z]*) \1',r'\1','Cat In The The Hat')

则输出: CatInTheHat

原因是:* 表示左边的字符出现 0 次或多次,这样正则就能匹配到 \b+ 空格 +\b 的字符,并且将其替换为 \b。也就是说删除掉 \b+ 空格。相当于去掉空格,合并 2 个单词边界为 1 个。

609正则表达式 - 语法

时分的正则表达式

用来匹配 xx:xx (如:18:26) 格式时间正则:

^([01]\d|2[01234]):([0-5]\d|60)$