Chinaunix

标题: 正则表达式 [打印本页]

作者: alabos    时间: 2007-03-26 14:34
标题: 正则表达式
如何匹配任意一个大写字母开头,其余为小写的字符串?

我用 /[A-Z][a-z]+/ 这样会匹配到类似这样的字符串: TesT,请问该如何把这一部分过滤掉?

谢谢!!
作者: alabos    时间: 2007-03-26 14:53
fred1
fred2
fredd3.
fred 1
fred 2
fredd 3.
Fred
fredrick
A1fred
Mr. late
FRED
TEST
Test
TesT

在以上列表里,我想只匹配Test  和 Fred 。
作者: fengc    时间: 2007-03-26 15:08
标题: 回复 1楼 alabos 的帖子
/^[A-Z][a-z]+$/
作者: alabos    时间: 2007-03-27 11:56
用楼上朋友的方法,一个也匹配不到。

应该用: /[A-Z][a-z]+ /   在加号后有一个空格,这样就可以匹配到整个单词了。。嘿嘿嘿。。。。。


不过应该还有更好的方法,暂时没有找到。。。
作者: redspider    时间: 2007-03-27 12:23
原帖由 alabos 于 2007-3-27 11:56 发表
用楼上朋友的方法,一个也匹配不到。

那是因为你的描述不准确,你的文本每一行后面本来就是有空格的。
作者: alabos    时间: 2007-03-27 12:54
应该是我那个资料列表发的太过简单了。
作者: rxpmcb    时间: 2007-03-27 17:41
/^\s*[A-Z][a-z]|\s+*$/
作者: undeadboy    时间: 2007-03-28 15:52
用/\b[A-Z][a-z]\b/只匹配到Fred,Test,Mr. late,不知道为什么会匹配到Mr. late...




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2