免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3892 | 回复: 10
打印 上一主题 下一主题

[C++] 求一个正则表达式 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-02-21 17:16 |只看该作者 |倒序浏览
本帖最后由 aore2010 于 2014-02-21 17:24 编辑

1,中华人民共和国

2,中华人共和国

该怎么只有等于"人民"这两个字的时候才匹配, 其他的都不行.
譬如以上句子, 1包含"人民"两个字, 故匹配, 2虽然包含"人",但不包含"人民"两个字, 所以不匹配

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
2 [报告]
发表于 2014-02-21 17:24 |只看该作者
本帖最后由 Herowinter 于 2014-02-21 17:24 编辑

能多给点数据吗? 现在的描述查找正则 人民 就好了
  1. echo -e "中华人民共和国\n中华人共和国"|sed -n '/人民/p'
  2. 中华人民共和国
复制代码

论坛徽章:
0
3 [报告]
发表于 2014-02-21 17:26 |只看该作者
不是 我是用pcre的, 麻烦 用标准的正则表达式写 不是用sed 多谢


1,中华人民共和国

2,中华人共和国

3,中华人民共和国儿女

4, 中华人共和国儿女

则匹配1和3

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
4 [报告]
发表于 2014-02-21 17:35 |只看该作者
本帖最后由 Herowinter 于 2014-02-21 17:36 编辑

回复 3# aore2010
不用sed 我还要下工具验证正则,要不怎么显示匹配了哪几条记录?
这个问题的正则就是  人民  这个词就好了 你都没限定他的出现位置什么的。


   

论坛徽章:
0
5 [报告]
发表于 2014-02-21 17:38 |只看该作者
哦 我明白您的意思了 我的意思是 只要一个字符串中不管什么位置出现了 "人民" , 这个句子匹配, 只包含"人"或者"民",或者都没有的, 就不匹配

论坛徽章:
0
6 [报告]
发表于 2014-02-21 17:42 |只看该作者
抱歉 逻辑我说错了 应该是:

该怎么只有不包含"人民"这两个字的时候才匹配.
譬如以上句子, 1包含"人民"两个字, 故不匹配, 2虽然包含"人",但不包含"人民"两个字, 所以匹配
所以只有2和4句子匹配

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
7 [报告]
发表于 2014-02-21 17:51 |只看该作者
回复 6# aore2010
你非要写一个正则去描述没出现人民这种情况吗?
你说的这种情况一般加个逻辑非 用不匹配 人民 这个正则来描述。
  1. echo -e "1,中华人民共和国\n2,中华人共和国\n3,中华人民共和国儿女\n4, 中华人共和国儿女"|sed -n '/人民/!p'
  2. 2,中华人共和国
  3. 4, 中华人共和国儿女
复制代码

论坛徽章:
0
8 [报告]
发表于 2014-02-21 17:52 |只看该作者
不是 主要是上面让我找这个正则, 要写到程序里的....
我写了 可是不行,

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
9 [报告]
发表于 2014-02-21 17:54 |只看该作者
回复 8# aore2010
有代码吗?能贴出来看看吗?

   

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
10 [报告]
发表于 2014-02-21 18:34 |只看该作者
.*人民.*





您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP