正则判断文件夹路径,实现了纯英文和中文路径,但是就不知道怎么混合

viki117 2008-07-23 04:38:58
英文文件夹路径:
[a-zA-Z]:([\\ ¦//]\w+){1,}
中文文文件夹路径:
[a-zA-Z]:([\\ ¦//][\u4e00-\u9fa5]+){1,}

关键的来,怎么搞也不能混合起来
我这样写的
[a-zA-Z]:([\\ ¦//][[\u4e00-\u9fa5]+¦\w+]){1,}

可是不行,到底应该怎么混合啊。。高手们出招了
...全文
472 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
viki117 2008-07-30
  • 打赏
  • 举报
回复
基本上都是这样了,有空学点正则了要,把贴结了 。。
root_ 2008-07-29
  • 打赏
  • 举报
回复
准备睡了,懒得写了,就在楼主的基础上改吧

[a-zA-Z]:([\\|//][\u4e00-\u9fa5\w]+)+


但要注意,在某些情况下,\w是可以匹配中文的
Dleno 2008-07-28
  • 打赏
  • 举报
回复
注意用"*"!!!!
suyiming 2008-07-28
  • 打赏
  • 举报
回复
^(([0-9a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))$
viki117 2008-07-28
  • 打赏
  • 举报
回复
游哉游哉游哉。。。。难道就怎么终止了
viki117 2008-07-28
  • 打赏
  • 举报
回复
还要识别“/”的。。。
viki117 2008-07-25
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 symbol441 的回复:]
try

C# code
[a-zA-Z]:([\\|//]|[\u4e00-\u9fa5\]+|\w+])*
[/Quote]
这样可以用了,但是这个似乎只能判断第一级目录。。后面就无所谓了。。
symbol441 2008-07-25
  • 打赏
  • 举报
回复
try

[a-zA-Z]:([\\|//]|[\u4e00-\u9fa5\]+|\w+])*

viki117 2008-07-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wangkun9999 的回复:]

lz思路没错,就是因为[是转义字符:

C# code
Regex r = new Regex(@"[a-zA-Z]:([\\ ¦//][\[\u4e00-\u9fa5\]+|\w+]){1,}");
Match m0 = r.Match("c:\\attachFile\\呼唤啊");
Response.Write(m0.Success);
[/Quote]
貌似还是不行啊。。大虾有没有试过啊
happyboxman 2008-07-24
  • 打赏
  • 举报
回复
"^[^\\/?*\"\'><:|]*$"
happyboxman 2008-07-24
  • 打赏
  • 举报
回复
^[^\\\/\?\*\"\'\<\>\:\|]*$
viki117 2008-07-24
  • 打赏
  • 举报
回复
怎么也搞不到好。。烦S了。。期待
qyulang 2008-07-24
  • 打赏
  • 举报
回复
ding s 你[Quote=引用 6 楼 viki117 的回复:]
怎么也搞不到好。。烦S了。。期待
[/Quote]
wangkun9999 2008-07-24
  • 打赏
  • 举报
回复

lz思路没错,就是因为[是转义字符:

Regex r = new Regex(@"[a-zA-Z]:([\\ ¦//][\[\u4e00-\u9fa5\]+|\w+]){1,}");
Match m0 = r.Match("c:\\attachFile\\呼唤啊");
Response.Write(m0.Success);
yulinlover 2008-07-24
  • 打赏
  • 举报
回复
你就用循环判断一下,还不搞定?
或者换个思路,非得要正则?

public bool IsPath(string sPath)
{
try
{
if( Directory.Exist(sPath))
{
return true;
}
Directory.Create(sPath);
return true;
}
catch
{
这里就false了
}
}
viki117 2008-07-24
  • 打赏
  • 举报
回复
要\和/都能识别出来的。。。
viki117 2008-07-23
  • 打赏
  • 举报
回复
UP。。。。
viki117 2008-07-23
  • 打赏
  • 举报
回复
谁能写个完整来。。
大概就好识别这种样的文件夹路径
c:\attachFile\呼唤啊
palm_java 2008-07-23
  • 打赏
  • 举报
回复
^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.jpg|.JPG|.gif|.GIF)$
类似吧
daxiatt 2008-07-23
  • 打赏
  • 举报
回复
我是这么取的,将英文,数字,汉字,_ 以外的都过滤掉
regEx.Pattern = "([^\u4e00-\u9fa5\w _-])"
str = regEx.Replace(str,"")
加载更多回复(1)
中文名: 正则表达式经典实例 原名: Regular Expression Cookbook 作者: (美)高瓦特斯(Goyvaerts,J.) (美)利维森(Levithan,S.)译者: 郭耀 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社书号: 9787115228321发行时间: 2010年06月01日 地区: 大陆 语言: 简体中文 简介: 编辑推荐 每个程序员都会遇到需要使用正则表达式的情况,但是要用好正则表达式却并不容易。本书提供了100多个实例,以帮助读者使用正则表达式处理数据和文本。即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET的实例。   本书主要包括以下内容:   通过一个精练的教程理解正则表达式的基本原理和技巧;   在不同的编程语言和脚本语言中有效使用正则表达式;   学习如何对输入进行合法性检查和格式化;   处理单词、文本行、特殊字符和数值;   学习如何在URL、路径、标记语言和数据交换中使用正则   表达式;   学习更高深的正则表达式特性中的微妙之处;   理解在不同语言中正则表达式的APl、语法和行为之间的   区别;   创建更好的正则表达式来满足个性化的需求。 内容简介 本书讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等编程语言的解决方案。   本书的读者对象是对正则表达式感兴趣的软件开发人员和系统管理员。本书旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过本书提供的实例解决方案库来解决实践中的复杂问题。 作者简介 Jan Goyvaerts领导着Just Great Software公司,他在这个公司设计和开发了一些最流行的正则表达式软件。他的产品中包括RegexBuddy,世界上唯一可以模拟l5种正则表达式流派特性的正则表达式编辑器,以及PowerGREP,Microsoft Windows平台上功能最强大的9rep工具。 目录: 第1章 正则表达式简介 1.1 正则表达式的定义 1.2 使用正则表达式的工具 第2章 正则表达式的基本技巧 2.1 匹配字面文本 2.2 匹配不可打印字符 2.3 匹配多个字符之一 2.4 匹配任意字符 2.5 匹配文本行起始和/或文本行结尾 2.6 匹配整个单词 2.7 Unicode代码点、属性、区块和脚本 2.8 匹配多个选择分支之一 2.9 分组和捕获匹配中的子串 2.10 再次匹配先前匹配的文本 2.11 捕获和命名匹配子串 2.12 把正则表达式的一部分重复多次 2.13 选择最小和最大重复次数 2.14 消除不必要的回溯 2.15 避免重复逃逸 2.16 检查一个匹配,但不添加到整体匹配中 2.17 根据条件匹配两者之一 2.18 向正则表达式中添加注释 2.19 在替代文本中添加字面文本 2.20 在替代文本中添加正则匹配 2.21 把部分的正则匹配添加到替代文本中 2.22 把匹配上下文插入到替代文本中 第3章 使用正则表达式编程 3.1 在源代码中使用字面正则表达式 3.2 导入正则表达式函数库 3.3 创建正则表达式对象 3.4 设置正则表达式选项 3.5 检查是否可以在目标字符串中找到匹配 3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12 在过程代码中对匹配结果进行验证 3.13 在另一个匹配中查找匹配 3.14 替换所有匹配 3.15 使用匹配的子串来替换匹配 3.16 使用代码中生成的替代文本来替换匹配 3.17 替换另一个正则式匹配中的所有匹配 3.18 替换另一个正则式匹配之间的所有匹配 3.19 拆分字符串 3.20 拆分字符串,保留正则匹配 3.21 逐行查找 第4章 合法性验证和格式化 4.1 E-mail地址的合法性验证 4.2 北美电话号码的合法性验证和格式化 4.3 国际电话号码的合法性验证 4.4 传统日期格式

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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