Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 不以点开头的数字的正则表达式_Regex - Fatal编程技术网

Regex 不以点开头的数字的正则表达式

Regex 不以点开头的数字的正则表达式,regex,Regex,我正在搜索只匹配不以“.”开头的数字的正则表达式。 例如: \(^\|[^0-9.]\)\([0-9][0-9]*\.\?[0-9]*\)\($\|[^0-9.]\) .5不正常 正常 4ok 3.0ok 6.45ok 试试这个。看演示 您可以使用此模式: ^[0-9]+\.?[0-9]*$ 此模式用于检查字段,因此它使用锚定^和$。如果可用,最好将其替换为\A和\z,因为$也可能与最后一行的结尾和最后一个换行符相匹配,并且出于语义原因 如果需要在更大的字符串中查找这些数字,则需要用其他内容

我正在搜索只匹配不以“.”开头的数字的正则表达式。

例如:

\(^\|[^0-9.]\)\([0-9][0-9]*\.\?[0-9]*\)\($\|[^0-9.]\)
.5不正常

  • 正常
  • 4ok

    3.0ok

    6.45ok

    试试这个。看演示


    您可以使用此模式:

    ^[0-9]+\.?[0-9]*$
    
    此模式用于检查字段,因此它使用锚定
    ^
    $
    。如果可用,最好将其替换为
    \A
    \z
    ,因为
    $
    也可能与最后一行的结尾和最后一个换行符相匹配,并且出于语义原因

    如果需要在更大的字符串中查找这些数字,则需要用其他内容替换锚定:

    使用(如果您的正则表达式有):

    (然后您需要提取捕获组1的内容以获得编号)

    注意:您可以用基本语法编写最后一个模式(例如与sed一起使用):


    我删除了我的。因为你早就来了。
    (?<![0-9.])[0-9]+\.?[0-9]*(?![0-9.])
    
    (?:^|[^0-9.])([0-9]+\.?[0-9]*)(?:$|[^0-9.])
    
    \(^\|[^0-9.]\)\([0-9][0-9]*\.\?[0-9]*\)\($\|[^0-9.]\)