[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2019-4-19 22:33 编辑

回复 4# smss
  1. @echo off
  2. set "s=12345.6789"
  3. echo;%s%|sed -n -r "/^([1-9][0-9]{0,51}|0)(\.[0-9]{0,12})?$/p"|findstr .&&echo;Y||echo;N
  4. pause
复制代码

TOP

本帖最后由 WHY 于 2019-4-19 22:32 编辑
  1. set "s=9999999999999999999999999999999999999999999999999999.999999999999"
  2. PowerShell "'%s%' -match '^(?:[1-9]\d{0,51}|0)(\.\d{0,12})?$'"
复制代码

TOP

回复 7# smss


    findstr 这么容易搞定,还要 sed 做什么?
批处理脚本而已,先谈“够用”,别动不动就谈通用

TOP

  1. @echo off
  2. set "s=9999999999999999999999999999999999999999999999999999.999999999999"
  3. for /f "tokens=1,2delims=." %%i in ('echo;%s%^|findstr /b /e "[1-9][0-9]* 0 [1-9][0-9]*\.[0-9]* 0\.[0-9]*"') do (
  4.     set "a=%%i"
  5.     set "b=%%j"
  6. )
  7. if defined a (
  8.     if defined b (
  9.         if "%b:~12%" NEQ "" (
  10.             echo;N
  11.         ) else if "%a:~52%" NEQ "" (
  12.             echo;N
  13.         ) else (echo;Y)
  14.     ) else if "%a:~52%" NEQ "" (
  15.         echo;N
  16.     ) else (echo;Y)
  17. ) else (echo;N)
  18. pause
复制代码
1

评分人数

    • smss: 好 够用就行 关键网上那帖子都没有调试一下 ...技术 + 1

TOP

返回列表