2 bhzj52 bhzj52 于 2014.09.13 13:26 提问

正则表达式零宽断言问题

“\b\w*(?=q)\w*\b”怎么匹配abdlqdjfa是全部的?“\b\w*(?<=q)\w*\b”匹配也是得到全部!用的Regex Match Tracer!到底哪里错了啊!?百思不得其解!
还有,"\b(?=q)\w*\b"怎么匹配不了"abqdldjfa"?q不是在中间吗?"\w*",不是q的右边有字符吗?怎么不能匹配?

2个回答

solief
solief   2014.09.15 23:25

\b[a-z]\w*\b

q107770540
q107770540   Ds   Rxr 2014.11.18 15:04

\b\w*(?=q) 匹配q之前的字符串
(?<=q)\w* 匹配q之后的字符串

你写的正则 “\b\w*(?=q)\w*\b” “\b\w*(?<=q)\w*\b” 当然匹配全部,他们的效果赞同于 \b\w*\b

Csdn user default icon
上传中...
上传图片
插入图片