google Data Studio 中的正则表达式提取
regex extract in google data studio
我正在尝试从页面 google 分析维度中提取值(在本例中为最大和最小价格),但遇到了问题,因为 max/min 价格的位置可能因搜索而异用户拿走了。
我试过了:REGEXP_EXTRACT(Page,'.*minPrice.=(.*)')
当值位于字符串末尾时它工作正常,但当值位于开头或中间时捕获字符串的其余部分。
这是页面值的示例:
/search/detail/119441465?s[propertyTypes][0]=house&spropertyTypes=condo&s[minPrice]=999999&s[locations][0][city]=Ocean City&s[locations][0] [州]=新泽西州
/search?s[propertyTypes][0]=house&spropertyTypes=condo&s[minPrice]=999000&s[orderBy][0]=r&s[locations][0][city]=Barnegat Light&s[地点][0][州]=新泽西州
/search/detail/118588431?s[propertyTypes][0]=house&spropertyTypes=condo&s[最低价格]=999000&s[地点][0][城市]=Barnegat Light&s[地点][0] [州]=新泽西州
/search/detail/118588431?s[city]=Barnegat Light&s[state]=NJ&s[propertyTypes][0]=house&spropertyTypes=condo&s[minPrice]=999000
/search/detail/119438690?s[orderBy]=sourceCreationDate,desc&s[locations][0][city]=威尼斯&s[locations][0][state]=FL&s[maxPrice]=525000&s[minPrice]= 99900
/search?s[orderBy]=sourceCreationDate,desc&s[locations][0][city]=威尼斯&s[locations][0][state]=FL&s[maxPrice]=525000&s[minPrice]=99900
/search/detail/119337213?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Monmouth County&s[maxPrice]=1488000&s[minPrice] =992000
/search/detail/119415983?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Monmouth County&s[maxPrice]=1488000&s[minPrice] =992000
/search/detail/119046654?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Gloucester County&s[maxPrice]=148800&s[minPrice] =99200
/search?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=格洛斯特县&s[maxPrice]=148800&s[minPrice]=99200
/search/detail/119330920?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Gloucester County&s[maxPrice]=148800&s[minPrice] =99200
您可以使用
REGEXP_EXTRACT(Page,'[[]minPrice[]]=([0-9]+)')
REGEXP_EXTRACT(Page,r'\[minPrice]=(\d+)')
见regex demo。 详情:
[[]minPrice[]]=
/ \[minPrice]=
- [minPrice]=
字符串
([0-9]+)
/ \d+
- 第 1 组:一个或多个数字。
.*
不是必需的,因为 REGEXP_EXTRACT
不会将匹配锚定在字符串的开头。
我正在尝试从页面 google 分析维度中提取值(在本例中为最大和最小价格),但遇到了问题,因为 max/min 价格的位置可能因搜索而异用户拿走了。
我试过了:REGEXP_EXTRACT(Page,'.*minPrice.=(.*)')
当值位于字符串末尾时它工作正常,但当值位于开头或中间时捕获字符串的其余部分。
这是页面值的示例:
/search/detail/119441465?s[propertyTypes][0]=house&spropertyTypes=condo&s[minPrice]=999999&s[locations][0][city]=Ocean City&s[locations][0] [州]=新泽西州
/search?s[propertyTypes][0]=house&spropertyTypes=condo&s[minPrice]=999000&s[orderBy][0]=r&s[locations][0][city]=Barnegat Light&s[地点][0][州]=新泽西州
/search/detail/118588431?s[propertyTypes][0]=house&spropertyTypes=condo&s[最低价格]=999000&s[地点][0][城市]=Barnegat Light&s[地点][0] [州]=新泽西州
/search/detail/118588431?s[city]=Barnegat Light&s[state]=NJ&s[propertyTypes][0]=house&spropertyTypes=condo&s[minPrice]=999000
/search/detail/119438690?s[orderBy]=sourceCreationDate,desc&s[locations][0][city]=威尼斯&s[locations][0][state]=FL&s[maxPrice]=525000&s[minPrice]= 99900
/search?s[orderBy]=sourceCreationDate,desc&s[locations][0][city]=威尼斯&s[locations][0][state]=FL&s[maxPrice]=525000&s[minPrice]=99900
/search/detail/119337213?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Monmouth County&s[maxPrice]=1488000&s[minPrice] =992000
/search/detail/119415983?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Monmouth County&s[maxPrice]=1488000&s[minPrice] =992000
/search/detail/119046654?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Gloucester County&s[maxPrice]=148800&s[minPrice] =99200
/search?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=格洛斯特县&s[maxPrice]=148800&s[minPrice]=99200
/search/detail/119330920?s[orderBy]=sourceCreationDate,desc&s[locations][0][state]=NJ&s[locations][0][county]=Gloucester County&s[maxPrice]=148800&s[minPrice] =99200
您可以使用
REGEXP_EXTRACT(Page,'[[]minPrice[]]=([0-9]+)')
REGEXP_EXTRACT(Page,r'\[minPrice]=(\d+)')
见regex demo。 详情:
[[]minPrice[]]=
/\[minPrice]=
-[minPrice]=
字符串([0-9]+)
/\d+
- 第 1 组:一个或多个数字。
.*
不是必需的,因为 REGEXP_EXTRACT
不会将匹配锚定在字符串的开头。