开门见山
有字符串类似:
abababababababab
aabsdsbasdsadab
杨浦区虹口区浦东新区
正则表达式如下:
[a-z]*?b
[a-z]*?b
[\u4e00-\u9fa5]+?区
然后对应的语言用一个extract
就可以将数据抽取出来了
如果是R
语言的话:
library(stringr)
str_extract("杨浦区虹口区浦东新区","[\u4e00-\u9fa5]+?区")
原理
因为*
和+
号都是贪婪的匹配符,他们都会尽可能地匹配多个字符串,如果想让它匹配到最小的一部分,那么就在后面加个?
就好了。
总结
这里就不写java
,python
的测试了,刚好用到了R
,正则写对了其实都一样的