免费注册 查看新帖 |

Chinaunix

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

[练习]匹配包含"-^[]'这些字符的正则怎么写? [复制链接]

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-30 14:32 |只看该作者 |正序浏览
诸如标题中的特殊字符应如何处理?

如下简单的罗列是不行的。

  1. grep '["-^[]]''
复制代码


可以先不要单引号。

论坛徽章:
0
27 [报告]
发表于 2009-03-05 15:07 |只看该作者
有的字符在[]里的位置有双重意思,放到某些位置就取消了元字符的意思,即只看成普通字符

论坛徽章:
0
26 [报告]
发表于 2009-03-05 15:01 |只看该作者
越看越晕~~~

论坛徽章:
0
25 [报告]
发表于 2006-10-10 23:21 |只看该作者
原帖由 r2007 于 2006-10-10 23:17 发表
http://www.regular-expressions.info/charclass.html
两种方法 1种是waker提到的,还有就是shitou9000 说的加backslash
这段有讲
Metacharacters Inside Character Classes

非常感谢

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
24 [报告]
发表于 2006-10-10 23:17 |只看该作者
http://www.regular-expressions.info/charclass.html
两种方法 1种是waker提到的,还有就是shitou9000 说的加backslash
这段有讲
Metacharacters Inside Character Classes

论坛徽章:
0
23 [报告]
发表于 2006-10-10 23:05 |只看该作者
可能是误解了你的意思
但我能确定一下写这个正则有顺序之分吗?望版主指导一下

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
22 [报告]
发表于 2006-10-10 22:40 |只看该作者
原帖由 lovesaka 于 2006-10-10 17:15 发表
其实我只想说一下没有什么按顺序先放哪后放哪的说法
如果要匹配包涵版主你所讲的全部字符的行少一个都不行的下面有一个
grep '[''"''-''^'"[""]"']'"'"   这个写得 ...

是不是说叉道了?
请问grep '[abc123]'代表什么意思?
再问grep 'abc123'呢?
还有grep '[@#!]'呢?
还有grep '[]"^[-]'
等等
原贴探讨的是"-^[]'这些字符在方括号中如何写

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
21 [报告]
发表于 2006-10-10 18:14 |只看该作者
复杂的:
  1. '\[\|\]\|\-\|\^'
复制代码


  1. [root@test9 yinjh]# echo '[' | grep '\[\|\]\|\-\|\^'
  2. [
  3. [root@test9 yinjh]# echo ']' | grep '\[\|\]\|\-\|\^'
  4. ]
  5. [root@test9 yinjh]# echo '-' | grep '\[\|\]\|\-\|\^'
  6. -
  7. [root@test9 yinjh]# echo '^' | grep '\[\|\]\|\-\|\^'
  8. ^
复制代码

论坛徽章:
0
20 [报告]
发表于 2006-10-10 17:27 |只看该作者
粉复杂的说。。

论坛徽章:
0
19 [报告]
发表于 2006-10-10 17:15 |只看该作者
其实我只想说一下没有什么按顺序先放哪后放哪的说法
如果要匹配包涵版主你所讲的全部字符的行少一个都不行的下面有一个

  1. grep '[''"''-''^'"[""]"']'"'"   这个写得太长但效果还是和下面一样向r2007版主所说有bug
  2. grep '["-^[]]'"'"      
  3. grep '^"-^[[][]]'"'"'$'       这个是精确匹配 "-^[]' 的行
  4. grep '[^'"'"'][-"]'               非精确的只要有 "-^[]' 就行
复制代码

[ 本帖最后由 lovesaka 于 2006-10-10 22:31 编辑 ]
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP