免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jeffreyst
打印 上一主题 下一主题

[学习共享] 学习分享--正则中的环视 [复制链接]

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
11 [报告]
发表于 2014-04-20 22:11 |只看该作者
好贴好贴,学习一下。

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
12 [报告]
发表于 2014-04-21 10:27 |只看该作者
个人觉得还是还是翻译为“断言”比较好。至于加上零宽二字就没必要了。

也没必要将  (?<=Expression)  理解为:匹配的是一个位置,这样理解没错,但不好记。

这样比较好记
(?<=Expression)pat  :pat断言它自己左边有Expression。即左边没有Expression的pat  不是符合条件的pat。

所以“断言”比“环视”好。

论坛徽章:
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
13 [报告]
发表于 2014-04-21 10:37 |只看该作者
回复 12# cao627
英文叫Zero-Width Assertions,好像是直译的。


   

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
14 [报告]
发表于 2014-04-21 10:48 |只看该作者
@Herowinter
可能老外也不统一,有叫L​o​o​k​a​r​o​u​n​d的。

论坛徽章:
3
酉鸡
日期:2014-04-23 17:17:56丑牛
日期:2014-05-08 11:41:302015亚冠之德黑兰石油
日期:2015-08-03 11:14:27
15 [报告]
发表于 2014-04-21 11:25 |只看该作者
回复 12# cao627


    怎么说呢?其实我对零宽断言和环视之间的区别理解不是太深,
    我觉得零宽断言这个定义的范围应该比环视的定义大一些,毕竟零宽断言包含其他一些“^”等锚点,
    而本文说的环视,是通过一些符号+Expression来确定的Expression前/后的位置,
    这个位置的确定是有参照的字串和方向的(相对于Expression的位置),所以个人认为环视比较准确,毕竟有顺序和逆序之分。

    要是从记忆的角度上来说的话,个人觉得这个概念的意义就不是那么大了,反而是它的应用场景比较重要,
    它本质上就是来找到一个位置,既然是个位置,那么可以理解成字串宽度为0,这个符合零宽断言的字面意思。
    Expression前面的字符决定着这个位置在Expression的方向以及是肯定匹配还是否定匹配的。

论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
16 [报告]
发表于 2014-04-21 11:37 |只看该作者
回复 1# jeffreyst
[root@hardowrking scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:04:61:98  
          inet addr:192.168.137.32  Bcast:192.168.137.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:642 errors:0 dropped:0 overruns:0 frame:0
          TX packets:234 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:75701 (73.9 KiB)  TX bytes:38243 (37.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5775 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5775 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:6078345 (5.7 MiB)  TX bytes:6078345 (5.7 MiB)

[root@hardowrking scripts]# ifconfig | grep -oP "[0-9]{3}\.[0-9]{3}\.[0-9]{3}\.[0-9]{3}"
192.168.137.255

我这个很精确啊!


   

论坛徽章:
3
酉鸡
日期:2014-04-23 17:17:56丑牛
日期:2014-05-08 11:41:302015亚冠之德黑兰石油
日期:2015-08-03 11:14:27
17 [报告]
发表于 2014-04-21 11:41 |只看该作者
回复 16# zxy877298415


    你的IP应该是这个吧:192.168.137.32
    这个语句只是个引子,我的目的是通过环视来匹配这个ip,顺便说下使用环视匹配的过程而已

论坛徽章:
30
申猴
日期:2014-04-10 09:43:532015年亚洲杯纪念徽章
日期:2015-03-20 14:40:232015亚冠之阿尔纳斯尔
日期:2015-06-02 18:59:042015亚冠之阿尔希拉尔
日期:2015-06-30 15:22:572015亚冠之大阪钢巴
日期:2015-07-20 10:44:332015亚冠之阿尔纳斯尔
日期:2015-10-28 14:57:5215-16赛季CBA联赛之新疆
日期:2015-12-25 10:18:45黑曼巴
日期:2016-06-26 21:39:5315-16赛季CBA联赛之山西
日期:2016-07-25 21:54:2715-16赛季CBA联赛之北京
日期:2016-10-27 12:07:2315-16赛季CBA联赛之八一
日期:2017-07-07 16:39:0915-16赛季CBA联赛之吉林
日期:2017-09-04 12:14:43
18 [报告]
发表于 2014-04-21 11:45 |只看该作者
回复 17# jeffreyst
嗯,好帖子学习了,如果位数固定的话,还是能用方法一


   

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
19 [报告]
发表于 2014-04-21 11:55 |只看该作者
回复 15# jeffreyst


   
个人觉得,你的理解已经很深了。

lookaround 和 zero-width assertion 本来就是两个不同的概念。

显然,"lookaround zero-width assertion" 只是一种特殊的 zero-width assertion。
如你所说 zero-width assertion 的范围更广, 包括 ^ $ \b等等。

至于如何翻译,自己喜欢就好。关键是要明白是怎么回事。 往往有五花八门的翻译,
其实表达的都是同一个意思。

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
20 [报告]
发表于 2014-04-21 12:41 |只看该作者
本帖最后由 cao627 于 2014-04-21 12:43 编辑

@jeffreyst
毕竟零宽断言包含其他一些“^”等锚点

只觉得的“环视”的话光看字面不知说云。“断言”二字却能望文生意,至于零宽不零宽根本没当回事。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP