原帖由 forestlin 于 2006-8-25 12:54 发表
^[A-Za-z]
以大小写英文字母开头的行显示
[^\;]
以 ;开头的行 不显示
*
将上述结果集做加法,重复的只显示一行
原帖由 野鸭子 于 2006-8-25 13:35 发表
首先多谢!
其次,我认为你对 [^;]的理解有问题
原帖由 forestlin 于 2006-8-25 12:54 发表
^[A-Za-z]
以大小写英文字母开头的行显示
[^\;]
以 ;开头的行 不显示
*
将上述结果集做加法,重复的只显示一行
原帖由 r2007 于 2006-8-25 14:24 发表
建议看看正则表达式的基础。
楼主的这个分析是错误的,但是结论没错。
原帖由 forestlin 于 2006-8-25 14:27 发表
最讨厌看书了,呵呵
对了,这位老大帮我看看 ps 的那个问题啊
原帖由 野鸭子 于 2006-8-25 15:34 发表
楼主, 这是我在一个书里找到的一个例子
我认为你分析的过程有问题
首先:
^[A-Za-z]* 表示任意字符都匹配,即使是空格或null也匹配
其次:
[^;] 表示不含有";"的字符串
这样,就只有 " ...
原帖由 r2007 于 2006-8-25 14:24 发表
建议看看正则表达式的基础。
楼主的这个分析是错误的,但是结论没错。
原帖由 Edengundam 于 2006-8-25 15:48 发表
你好, 请问这样分析对吗??
1. 如果不以[a-zA-Z]开头, 且不以;开头, 匹配这个表达式.
2. 如果不以[a-zA-Z]开头, 且以;开头, 则不匹配.
3. 如果以[a-zA-Z]开头, 则都可以匹配.
原帖由 Edengundam 于 2006-8-25 15:48 发表
你好, 请问这样分析对吗??
1. 如果不以[a-zA-Z]开头, 且不以;开头, 匹配这个表达式.
2. 如果不以[a-zA-Z]开头, 且以;开头, 则不匹配.
3. 如果以[a-zA-Z]开头, 则都可以匹配.
原帖由 r2007 于 2006-8-25 15:54 发表
结论没错。
正则一两句话说不明白(可能我的表达太糟糕了),[a-zA-Z]*[^;]是一个简单(或者叫普通)的正则。建议看看*的作用。
原帖由 Edengundam 于 2006-8-25 16:12 发表
恩, 但我以为: H4561fdafkdha因为H满足[a-zA-Z]*所以不需要下一步处理, 自然匹配了;
而类似4561fdafkdha是不满足[a-zA-Z]*而满足[^;]所以匹配;
最后;fdsdfk343是既不满足[a-zA-Z]*也满足[^;]....
原帖由 Edengundam 于 2006-8-25 15:48 发表
你好, 请问这样分析对吗??
1. 如果不以[a-zA-Z]开头, 且不以;开头, 匹配这个表达式.
2. 如果不以[a-zA-Z]开头, 且以;开头, 则不匹配.
3. 如果以[a-zA-Z]开头, 则都可以匹配.
原帖由 wd 于 2006-8-28 10:06 发表
只要不是;开头的,都可以用 ^[a-zA-Z]*来匹配空串,然后让 [^;]匹配后面跟着的字符。
原帖由 野鸭子 于 2006-8-28 11:04 发表
以";"开头的任意串肯定是不符合本表达式(包括只含有";"的行)
但为什么一个空行也不符合本表达式?
如我有如下文件:
root@sun480 # cat a.txt
---------------------------------------- ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |