××××××××××××××高分求一正则表达式××××××××××××

jimu8130 2007-07-10 11:31:51
表达式要求
1 针对的是文件夹的路径(包括相对和绝对路径)而不是具体某个文件!
2 路径必须是本机的路径(如果类似如下形式\\Server\s\则应属于非法路径的)
3 不包括具体文件的名称,而仅仅是文件夹(如果类似如下形式c:\sss\m.txt则应属于非法路径)
4 最好不要回答诸如“你去哪里看看啊”、“用google搜索啊”,因为我在网上搜索过了,也去过http://www.regular-expressions.info/搜索过了,可仍然没找到符合我要求的,如果您搜索到了,最好能给出具体的网页地址。
...全文
655 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
codeworker999 2007-07-10
  • 打赏
  • 举报
回复
c:\sss\m.txt
正则又不能判断这是文件夹还是文件
所以不可能有
hbhbhbhbhb1021 2007-07-10
  • 打赏
  • 举报
回复
关键是相对路径的地址
./
../这种算不算
mingxuan3000 2007-07-10
  • 打赏
  • 举报
回复
你的要求没说清楚,
你举正确舆错误几个例子
jimu8130 2007-07-10
  • 打赏
  • 举报
回复
to supNate(铅笔) :
呵呵,你说的属于特殊情况,就算是,能给出你的答案么?
supNate 2007-07-10
  • 打赏
  • 举报
回复
仅仅正则无法做到,c:\sss\m.txt完全可以是一个文件夹路径。
jimu8130 2007-07-10
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5646/5646320.xml?temp=.830456
这里也有,如果您能答对,两个贴所有分都归答对的人
梅雪香 2007-07-10
  • 打赏
  • 举报
回复
<TEXTAREA id="ta" style="width:100%; height:100%">
d:\windows\$ntservicepackuninstall$\reg01561
books
h:
h:\
h:\setupfiles
h:\virtualdisk
h:\hdir.txt
h:\my favorites
h:\win98
h:\flash\\
:\mp3
\西楚霸王
h:\system volume information\_restore{7bda94da-b5f6-4bd0-9079-4fb1fee794e6}\rp82\
h:\system volume information\_restore{7bda94da-b5f6-4bd0-9079-4fb1fee794e6}\rp82\</TEXTAREA>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ar = ta.value;
ar = ar.split("\r\n");
ta.value = "";

for(var i=0;i<ar.length;i++){
var reg = /^(([a-z]:(\\[^\\\/:\*\?"<>\|]+)*\\?)|(\\?[^\\\/:\*\?"<>\|]+(\\[^\\\/:\*\?"<>\|]+)*\\?))$/ig;
ta.value += reg.test(ar[i])+"\t"+ar[i]+"\r\n";
}
//-->
</SCRIPT>
qf521lx 2007-07-10
  • 打赏
  • 举报
回复
<html>
<head>
<title>alert</title>
<script language="javascript">
function isxml(s){
var reg = /^([a-z]:\\|\\?)?([^ \.\\\/:\*\?"<>\|]([^\\\/:\*\x?"<>\|]*[^ \.\\\/:\*\?"<>\|])?\\?)+$/i;
if(!reg.test(s))
alert('错误的路径名');
}
</script>
</head>
<body>
输入一个文件路径
<input type="text" onblur="isxml(this.value)" />
</body>
</html>


//被你搞晕了~~ 我不知道我的到底有没有问题, 我也试了/ /的情况, 没事啊
哎~匹配文件路径的正则也实在难写,看来以后正则的功底还得继续打啊~
jimu8130 2007-07-10
  • 打赏
  • 举报
回复
呵呵你不懂我的意思
\ \--我只是想说明这两个杠号之间还有空格罢了!
qf521lx 2007-07-10
  • 打赏
  • 举报
回复
( )这样的文件夹名是允许存在的,所以也就没有对它进行过滤
jimu8130 2007-07-10
  • 打赏
  • 举报
回复
to qf521lx():
需要明确的一点是开头或结尾为空格或.的文件夹是不存在的
如果你把文件夹路径直接打在windows窗口的地址栏内,开头或结尾如果有空格或.那么系统会自动清掉, 但是如果你用某个程序来打开可能会报错
------
我的程序当中,这个路径是由用户输入的(input type=text),所以用户并不知道,可能他只是误输入而已,但是程序得给出有效提示!我把你的正则去http://regexlib.com/RETester.aspx这里测试(以\(空格)\测试)并没有给出match或者nomatch的测试结果。

to hbhbhbhbhb1021(天外水火(我要多努力)):
我已经例举了主要的要求
1 针对的是文件夹的路径(包括相对和绝对路径,可能会存在文件夹的名称为s.text这样的情况,那么这种路径也属于合法;相对路径中针对的是\s\,\s这样的路径,而不是咱们程序开发经常用到的../,./这样的都属于非法!)
2 路径必须是本机的路径(如果类似如下形式\\Server\s\则应属于非法路径的)
3 文件名规则是不包含:\/:*?"<>|这些特殊字符的
至于其他的要求,比如刚刚和qf531lx讨论的\ \情况,我觉得这个是很明显的不合法的情况。在开发中,作为开发人员来说首先避免的是自己能想到的基本错误,然后在此基础满足用户或者特定环境下提出的附加要求(所以一开始我的要求并没有“文件名规则是不包含:\/:*?"<>|这些特殊字符的”)

qf521lx 2007-07-10
  • 打赏
  • 举报
回复
需要明确的一点是开头或结尾为空格或.的文件夹是不存在的
如果你把文件夹路径直接打在windows窗口的地址栏内,开头或结尾如果有空格或.那么系统会自动清掉, 但是如果你用某个程序来打开可能会报错
hbhbhbhbhb1021 2007-07-10
  • 打赏
  • 举报
回复
jimu8130兄弟,还是这样吧,如果楼上的兄弟们的正则不能满足要求的话,那整理一下都需要满足什么情况,这样列举出来效果会好些.刚才试了一下,文件夹上有些字符是不能写的,写上会报错,并且第一个字符是空格的话会被替换掉.
qf521lx 2007-07-10
  • 打赏
  • 举报
回复
不会吧 \(space)\ 在我这里没有出现异常啊
jimu8130 2007-07-10
  • 打赏
  • 举报
回复
似乎你写的正则不对样的
jimu8130 2007-07-10
  • 打赏
  • 举报
回复
\(space)\测试报异常啊
qf521lx 2007-07-10
  • 打赏
  • 举报
回复
var reg = /^([a-z]:\\|\\?)?([^ \.\\\/:\*\?"<>\|]([^\\\/:\*\x?"<>\|]*[^ \.\\\/:\*\?"<>\|])?\\?)+$/i;

jimu8130 2007-07-10
  • 打赏
  • 举报
回复
to qf521lx() :
没关系,感谢你的帮忙
qf521lx 2007-07-10
  • 打赏
  • 举报
回复
错了一个地方 等我改一下
qf521lx 2007-07-10
  • 打赏
  • 举报
回复
if(!reg.test(s))
s为你要验证的路径
加载更多回复(6)
内容概要:本文档是OpenPOWER基金会发布的OpenFSI(Field Replaceable Unit Support Interface)规范1.0.0版本,定义了一种适用于计算机系统中所有芯片服务访问的通用串行接口。FSI采用两线半双工点对点通信方式,支持最高166 MHz频率和最长4米传输距离,具备高可靠性、可扩展性和虚拟化支持能力,可用于芯片级服务访问和系统内测试。文档详细描述了FSI的协议机制,包括命令/响应模式、绝对与相对寻址、数据传输格式、CRC错误检测与恢复、中断轮询、流量控制以及BREAK和TERM等特殊命令,并提供了电气特性参数、时序要求及典型应用场景示例。 适合人群:从事硬件系统设计、嵌入式开发或芯片级调试的工程师,特别是涉及服务器管理、FRU维护和低层通信接口开发的技术人员。 使用场景及目标:①用于实现高性能、长距离的板级设备间串行通信;②支持多级中断与DMA信号透传,适用于高可用系统的冗余控制架构;③为CPU、ASIC等芯片提供稳定的服务接口,便于故障诊断与现场更换单元管理。 其他说明:本规范属于OpenPOWER标准轨道文档,遵循基金会知识产权政策,允许自由复制与衍生,但不得修改原始内容;建议开发者结合实际硬件平台参考本文进行FSI主从设备的设计与验证。
下载方式:https://renmaiwang.cn/s/t0445 在时序发生器设计实验中,如何达成T4至T1的生成? 时序发生器的构建可以通过运用一个4位循环移位寄存器来达成T4至T1的输出。 具体而言:- **CLR(清除)**: 作为全局清零信号,当CLR呈现低电平状态时,所有输出(涵盖T1至T4)皆会被清除。 - **STOP**: 在T4脉冲的下降沿时刻,若STOP信号处于低电平状态,则T1至T4会被重置。 - **启动流程**: 当启动信号START处于高电平,并且STOP为高电平时,移位寄存器将在每个时钟的上升沿向左移动一位。 移位寄存器的输出端对应了T4、T3、T2、T1。 #### 2. 时序发生器如何调控T1至T4的波形形态? 时序发生器通过以下几个信号调控T1至T4的波形形态:- **CLR**: 当CLR处于低电平状态时,所有输出均会被清零。 - **STOP**: 若STOP信号为低电平,且在T4脉冲的下降沿时刻,所有输出同样会被清零。 - **START**: 在START信号有效(通常为高电平),并且STOP为高电平时,移位寄存器启动,从而产生环形脉冲输出。 ### 微程序控制器实验#### 3. 微程序控制器实验中的四条机器指令及其对应的微程序段指定的机器指令及其关联的微程序段如下:- **NOP**: 00- **R0->B**: 04- **A+B->R0**: 05- **P<1>**: 30- **IN->R0**: 32- **R0->OUT**: 33- **HLT**: 35#### 4. 微程序段中的微操作/微命令序列针对每条微指令,其对应的微操作或微命令序列如下:- **IN->R0**: 输入(IN)单元的数据被...

87,995

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧