求一则正则表达式

liuzhisheng 2009-12-15 02:37:35
我要识别如下的格式:

1234567
123_887 & 7
123&九叁8—$90

以上三个都是符合条件的

即去掉数字中间的空白和特殊字符(!@#¥×&等)后的长度大于5就算,同时也要识别大写(零一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾)的数字,最好是正则,程序就算了,谢谢
...全文
120 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwensd 2009-12-15
  • 打赏
  • 举报
回复

@"^((\d|[零一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾])[! @#%&*]){5,}$"
试试看吧 有什么特殊字符自己加吧
波导终结者 2009-12-15
  • 打赏
  • 举报
回复
我也觉得还是算了吧,正则不是拿来这么用的,还不如写一小段代码封装成函数呢
-过客- 2009-12-15
  • 打赏
  • 举报
回复
1、什么应用环境,有必要非得一个正则实现吗?
2、长度大于5是按字符数,还是字节数?字符数可以做到,字符数仅仅一个正则做不到

其实不是做得到做不到的问题,是有没有必要这么做的问题

不定长度量词的嵌套是很危险的
wackyboy 2009-12-15
  • 打赏
  • 举报
回复

"^([^0-9零一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]*[0-9零一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾]){6}"
yang677888 2009-12-15
  • 打赏
  • 举报
回复
好难
forzamilan123 2009-12-15
  • 打赏
  • 举报
回复
参考一下
([零一二三四五六七八九十壹贰叁肆伍陆柒捌玖拾a-zA-Z0-9]{1,}[\s&_—$]*){5,}

注意其中[\s&_—$],这里我只例举了空格、&、—、$等特殊字符,你可以修改下把所有特殊字符都放进去。大概的意思,我先找到一个非特殊字符,后面跟上零个或多个特殊字符,这样组合起来就保证了至少有一个非特殊字符,重复5次以后再拼起来就保证了匹配到的至少有5个非特殊字符,(无论中间有多少特殊字符)。

你举的3个例子都是可以匹配到的。
思路大概是这样子,自己再对照修修改修改。
liuzhisheng 2009-12-15
  • 打赏
  • 举报
回复
呵呵
liherun 2009-12-15
  • 打赏
  • 举报
回复
-过客- 2009-12-15
  • 打赏
  • 举报
回复
那就,算了吧

111,123

社区成员

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

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

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