作者DarkKiller (System hacked)
看板RegExp
标题Re: [问题] 想请问有办法做到这样吗?
时间Thu Feb 21 20:36:10 2008
※ 引述《taro3750 (taro)》之铭言:
: 如果我想建立0rz.tw的连结
: 能否侦测5个英数字元(含大小写)
: 排除全部只有数字或全部只有英文的状况
: 并且确保该5个英数字元必定包含英文与数字
: 请问这样能否用正规式表达?
: 新手发问 请多包涵^^"
Perl compatible:
^
http://0rz\.tw/[0-9a-z]{5}$
POSIX compatible:
^
http://0rz\.tw/[0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z]{5}$
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.54.119
1F:推 taro3750:似乎不太对@@" 这样既不能包含大小写 也不能排除全都是数 02/22 05:52
2F:→ taro3750:字或英文 02/22 05:53
4F:→ giacch:/.*[A-Za-z][0-9].*|.*[0-9][A-Za-z].*/ 未限制长度... 02/22 10:18
5F:推 janyfor:先比有5数字英文 在排除全部数字跟全部英文 02/22 22:04
6F:推 bandwidth:先用产生1~4的乱数i,这个长度i配给数字,(5-i)长度给英文 02/23 17:38
7F:推 badwork:产生前四码用随机,检查这四码都是英文或数字的时候 02/23 20:48
8F:→ badwork:第五码再加上跟前四码不同的 英或数 这样如何 02/23 20:49
9F:推 LPH66:其实0rz的连结可能会有全数字的喔XD 02/24 08:47
10F:→ LPH66:不过看你的需求是要抓出那五个字来的意思吧? 02/24 08:48
11F:→ LPH66:[^0-9A-Za-z]([0-9A-Za-z]{5})[^0-9A-Za-z] 再取\1就有了 02/24 08:48
12F:→ LPH66:原理是利用前後两个[^...]来去掉更长的字串 02/24 08:49
13F:→ LPH66:不过这样没有排除全英文的...要再想想 @@ 02/24 08:50
14F:→ LPH66:应该中间改([0-9]{5}|[A-Za-z][0-9A-Za-z]{4}|...)排列组合 02/24 08:50
15F:→ LPH66:就可以了吧@_@ 02/24 08:51
16F:推 taro3750:是喔囧 没看过全都数字的情况说 感谢楼上提供的意见 02/24 19:01
17F:→ taro3750:先来试试看@@ 02/24 19:01