正则表达式(?<=)为什么不正确
答案:2 悬赏:30 手机版
解决时间 2021-12-19 15:05
- 提问者网友:心如荒岛囚我终老
- 2021-12-19 09:49
我看网上的教程都是这么写的,可以为什么就是不正确呢?(?=子表达式)这个可以我加个<就不行,可是网上的教程都是这么写的啊弄不明白啊。
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2022-01-05 21:52
(?<=)零宽度正回顾后发断言。
仅当子表达式在此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。
正则表达式也分编程语言的,不同语言,正则写法也有差别
仅当子表达式在此位置的左侧匹配时才继续匹配。例如,(?<=19)99 与跟在 19 后面的 99 的实例匹配。此构造不会回溯。
正则表达式也分编程语言的,不同语言,正则写法也有差别
全部回答
- 1楼网友:一把行者刀
- 2022-01-05 22:48
两个的目的不一样,为什么要用一样的正则表达式?
照你这意思,那还不如直接用 .* 匹配算了,其它表达式都是多此一举。
后面的\\d{4}.只是更精确的查找想要的数据, 能匹配的,只有符合这种格式:任意多个字符 4个数字 一个任意字符。
虽然两个正则表达式都能匹配aaa 8888c,但是,前者的结果包含后者,这只是两种结果的交集,你可以测试多个字符串,再看看结果。
比如,有一个人员信息表,我要查姓刘的,且为3个字的名字,总不可能用 .* 来匹配吧?那不是把表里的所有人员信息查出来了吗?不符合要求。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯