Ruby 以下正则匹配 10 个有意义的字符,Ruby 下貌似出错。

freemem · 2012年05月01日 · 最后由 freemem 回复于 2012年05月01日 · 3051 次阅读

难道是因为区间里面不能有区间吗?

[[\u4e00-\u9fa5],\.\;\?\$''""\-\(\)\[\],。;?¥·、()「]\w]{2,}


貌似 ruby-china 把我的字符中的某些内容过滤掉了。。。

用代码 ``` 把代码括起来

好吧,是这个的: "[[\u4e00-\u9fa5],.\;\?\$''""-()[],.;?¥·,()[]\w]{70,}"

貌似还是不对,()[] 没有反斜杠了

想匹配汉字,用 /\p{Han}/

#5 楼 @clearJiang 用了,用这上能通过。我估计是 ruby1.8.7 不认区间里的区间。即 [ [ ] ] 这种形式

大伙有空看看我的这个贴吧,急着要解决此问题:http://ruby-china.org/topics/3011

#5 楼 @clearJiang 恐怕我找到办法了: 一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾: ^(?!)(?!.*?$)[a-zA-Z0-9_\u4e00-\u9fa5]+$

需要 登录 后方可回复, 如果你还没有账号请 注册新账号