|  | 
 
| vkill 金牌会员
 
       
 
 
 
 积分 4103
 发帖 1744
 注册 2006-1-20
 来自 甘肃.临泽
 状态 离线
 | 
| 『楼 主』:
 求助 findstr 或 sed 怎么判断变量是否为纯中文字
 
使用 LLM 解释/回答一下 
 
 
set/p "var=" name=
 我怎么判断%name%是否为纯中文字,例如"张三"可以,而"张3"等类似则不行
 
 Last edited by he200377 on 2006-11-2 at 07:42 AM ]
 
 
 
 
 |  | 
|  2006-11-2 07:41 |  | 
|  | 
 
| youxi01 高级用户
 
     
 
 
 积分 846
 发帖 247
 注册 2006-10-27
 来自 湖南==》广东
 状态 离线
 |  | 
|  2006-11-2 08:44 |  | 
|  | 
 
| 无奈何 荣誉版主
 
        
 
 
 
 积分 1338
 发帖 356
 注册 2005-7-15
 状态 离线
 | 
| 『第 3 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
sed 的没搞出来,来个 GREP 的吧,echo %name%|grep -P "^[^\x00-\x80]+$" >nul&& ok!通过!
 注意:这个表达式全角符号也会通过。
 
 
 
 
 
 |  
                  |  ☆开始\运行 (WIN+R)☆
 %ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
 
 
 |  | 
|  2006-11-2 09:41 |  | 
|  | 
 
| namejm 荣誉版主
 
        batch fan
 
 
 积分 5226
 发帖 1737
 注册 2006-3-10
 来自 成都
 状态 离线
 | 
| 『第 4 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
  在2F的基础上写个演示代码,在不考虑输入敏感字符的情况下,可以判断输入的是不是数字和字母的混合格式: @echo off
 set var=
 set/p var= 请输入字符串:
 echo %var% |findstr "^*$">nul && echo 该字符串是纯数字或纯字母或数字和字母的组合!||echo 该字符串含有数字和字母之外的字符
 pause>nul
 
 
 
 
 
 |  
                  |  尺有所短,寸有所长,学好CMD没商量。
 考虑问题复杂化,解决问题简洁化。
 |  | 
|  2006-11-2 09:46 |  | 
|  | 
 
| amao 中级用户
 
    
 
 
 
 积分 316
 发帖 152
 注册 2006-6-18
 状态 离线
 |  | 
|  2006-11-2 12:42 |  | 
|  | 
 
| 9527 银牌会员
 
      努力做坏人
 
 
 积分 1185
 发帖 438
 注册 2006-8-28
 来自 北京
 状态 离线
 | 
| 『第 6 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
echo 我是谁|findstr "^[^a-zA-Z0-9;:|~`!@#%&{}_+-="',/\\\.\*\[\]\^\$\?]*$" 
 
 
 
 
 |  
                  |  我今后在论坛的目标就是做个超级坏人!!!
 |  | 
|  2006-11-3 01:38 |  | 
|  | 
 
| vkill 金牌会员
 
       
 
 
 
 积分 4103
 发帖 1744
 注册 2006-1-20
 来自 甘肃.临泽
 状态 离线
 | 
| 『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
findstr "^[0-9a-zA-Z] 我在想难道除了字母数字剩下的就是中文吗?
 张,三 也算吗?
 
 无奈何斑竹的还没有试,要求是春中文字 ,不包括& | % 等等
 
 
 
 
 |  | 
|  2006-11-3 07:17 |  | 
|  | 
 
| vkill 金牌会员
 
       
 
 
 
 积分 4103
 发帖 1744
 注册 2006-1-20
 来自 甘肃.临泽
 状态 离线
 | 
| 『第 8 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
Originally posted by 无奈何 at 2006-11-2 09:41:sed 的没搞出来,来个 GREP 的吧,
 echo %name%|grep -P "^+$" >nul&& ok!通过!
 注意:这个表达式全角符号也会通过。
 
今天再看看,ASII码值应运的真好~我linux的教材上看没有看到-P的参数,看要找点资料看看了 
 
 
 
 |  | 
|  2006-11-4 07:26 |  | 
|  | 
 
| 无奈何 荣誉版主
 
        
 
 
 
 积分 1338
 发帖 356
 注册 2005-7-15
 状态 离线
 | 
| 『第 9 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
grep 高版本好像是 2.5 以后加入的参数,-P 参数的作用是用 perl 样式的正则表达式匹配模式。 
 
 
 
 
 |  
                  |  ☆开始\运行 (WIN+R)☆
 %ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul
 
 
 |  | 
|  2006-11-4 11:56 |  | 
|  | 
 
| vkill 金牌会员
 
       
 
 
 
 积分 4103
 发帖 1744
 注册 2006-1-20
 来自 甘肃.临泽
 状态 离线
 | 
|  『第 10 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
echo %name%|sed "s/[\x00-\x80]/,/" |findstr ",">nul ||echo ok 
 
 
 
 
 
 |  | 
|  2006-11-9 02:44 |  | 
|  | 
 
| 3742668 荣誉版主
 
        
 
 
 
 积分 2013
 发帖 718
 注册 2006-2-18
 状态 离线
 | 
| 『第 11 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@if %var% lss 吖 echo 不是汉字!
 
据说汉字区位码中一级字库是按拼音来排列的,没有时间测试,有朋友发现bug的吱一声。 
 
 
 
 |  | 
|  2006-11-9 08:55 |  |