正则表达式问题求解,谢谢 10

请各位大大解释一个这个表的式,^(?=.*你)(?!.*(?<![个的])请(?!.{0,5}[来去])).*(?<!\d)\d{2,3}(?!\d)[C次].*(哥哥|... 请各位大大解释一个这个表的式,^(?=.*你)(?!.*(?<![个的])请(?!.{0,5}[来去])).*(?<!\d)\d{2,3}(?!\d)[C次].*(哥哥|姐姐) 因为我是新手,请尽量详细点,万分感激! 展开
 我来答
qinshikuan
2010-11-30 · TA获得超过134个赞
知道答主
回答量:94
采纳率:0%
帮助的人:51.9万
展开全部
这个正则可以匹配"今天你们有110次机会叫我哥哥"之类的字符串.基本用到的语法如下:
1.\d 匹配一个数字;等价于[0-9]
2.{2,3} 表示至少出现2次,至多出现3次(3>=2)
3.(哥哥|姐姐) 可以匹配"哥哥",或者匹配"姐姐",一定要匹配其中一个
4.[来去] 可以匹配[ ]中的任意一个字符
以下是正则表达式高级模式的用法:
5.(?=.*你) 括号中的模式<.*你>必须出现在声明的右侧
6.(?!bbb) 括号中的模式<bbb>不能出现在声明的右侧,如:可匹配'aaaddd',却不能匹配'aaabbb'
7.(?<=) 括号中的模式必须出现在声明的左侧
8.(?<!) 括号中的模式不能出现在声明的左侧
重复的用法楼主可自己琢磨下

这个正则是没事找事用来折磨人的!我觉得这是滥用正则高级模式却不办正事.(除非这个正则的目的就是把所有的语法都扔上来方便记忆,那我没话说)

建议这位兄弟作为新手不该直接看这么复杂的正则,你应该从正则的基本语法和常用实例开始,
如:匹配电话号码(0888)88911818-002,匹配简单邮箱等,要明白一点:一个复杂的正则也必须是由简单的正则语法拼凑而成的!所以基本功学好了,你就变强了.

可以考虑用
RegexBuddy, Regex Match Tracer 这种专业的工具作辅助,相信你可以学得非常快!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式