正则表达式怎样按或的方式匹配多个词?

rick_silver 2004-10-13 08:53:06
有如下句型:
对面走来一个老人.
对面走来一个青年.
对面走来一个小孩.

怎样设置一个正则表达式使这三个句型都合法? 比如:对面走来一个{老人|青年|小孩}
...全文
1475 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
禽兽v5 2004-10-29
  • 打赏
  • 举报
回复
文档提到圆括号使用时同时会分组,如果我不希望分组,应该怎么办?


(?:老人)
whyandwhat 2004-10-29
  • 打赏
  • 举报
回复
jackkui(键盘上的武士的说法好象是对的。
rick_silver 2004-10-14
  • 打赏
  • 举报
回复
to jackkui: 如果象你说的那样写,那么这三个项目都会被置于matcher中的group中去,而我不想捕获他们,我的意思只是想确定在指定的位置是否是这三个项目其中之一,如不是,则该字符串不是合法的

to cm4ever: 你提供的文档里说明 : 1.3 “或”符号
如果除了上面匹配的所有单词之外,你还想要匹配“toon”,那么,你可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号“()”。圆括号还可以用来分组,具体请参见后面介绍。
同样,文档提到圆括号使用时同时会分组,如果我不希望分组,应该怎么办?

to netsniffer: 在pattern中直接输入中文在匹配的时候没有问题,我已试过了
皮鲁 2004-10-14
  • 打赏
  • 举报
回复
中文匹配没怎么试过,感觉要出问题的
jackkui 2004-10-14
  • 打赏
  • 举报
回复
regex = "对面走来一个((老人)|(青年)|(小孩))";
这样就行了吧
常修溢 2004-10-14
  • 打赏
  • 举报
回复
关注。
rick_silver 2004-10-14
  • 打赏
  • 举报
回复
up
haroyy 2004-10-13
  • 打赏
  • 举报
回复
莫名其妙
禽兽v5 2004-10-13
  • 打赏
  • 举报
回复
Java正则表达式详解
http://www.fanqiang.com/a4/b5/20011113/0808001561.html
trymybest121 2004-10-13
  • 打赏
  • 举报
回复
你自己不是已经写出来了吗?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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