正则表达式:重复字符串匹配第一个部分

开门见山

有字符串类似:
abababababababab
aabsdsbasdsadab
杨浦区虹口区浦东新区
正则表达式如下:
[a-z]*?b
[a-z]*?b
[\u4e00-\u9fa5]+?区

然后对应的语言用一个extract就可以将数据抽取出来了

如果是R语言的话:

library(stringr)
str_extract("杨浦区虹口区浦东新区","[\u4e00-\u9fa5]+?区")

在这里插入图片描述

原理

因为*+号都是贪婪的匹配符,他们都会尽可能地匹配多个字符串,如果想让它匹配到最小的一部分,那么就在后面加个?就好了。

总结

这里就不写javapython的测试了,刚好用到了R,正则写对了其实都一样的

发布了56 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/OldDirverHelpMe/article/details/105123964