为什么使用\b(?<!s)\d+\b无法匹配出g440中的440,而使用(?<!s)\d+\b却可以 |
|
15分 |
\b(?<!s)\d+\b
\b开头,后面不能是s的字符…… \b明显是g开头啊 你把\b去掉就可以了,另外负向零宽断言也不对 |
还是没搞明白
|
|
\b代表前面是要非数字字母下划线,你的440前面g是字母啊,匹配肯定失败
|
|
\b代表前面是要非数字字母下划线,那就可以代表空啊,(?<!s)匹配的是非s的字符,那g也完全OK啊,然后是数字,所以还是没搞明白,这块儿还没搞懂啊,
|
|
你的400前面是g,不是非数字字母下划线啊,s的不说,的确你去掉第一个\b就能匹配到了啊
|
|
貌似要明白了,真的需要从不同的角度来考虑啊,之前我是想的该如何以表达式从事例中取出结果,但是如果反过来,想得到的结果能不能按表达式放回去,就顺了,谢谢楼上了哈
|
|
5分 | |
七楼的东西不错,谢谢
|