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不正常
您可以使用此模式:
^[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.]\)