首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用regex这个REGEXEXTRACT函数?

如何正确使用regex这个REGEXEXTRACT函数?
EN

Stack Overflow用户
提问于 2017-05-19 10:06:06
回答 1查看 2K关注 0票数 1

我正在处理一个大型的订单数据电子表格,它使用一种独特的散列语法来表示订单项和属性。

我目前在Google中有这些数据,我希望能够利用REGEXEXTRACT函数(https://support.google.com/docs/answer/3098244)从每一行检索我需要的信息片段。

函数示例:REGEXEXTRACT(“大海捞针”,".e{2}dle")

订单数据是巨大的,我相信我可以使用这个regex函数来隔离我想要的信息。

我需要处理的字符串片段部分的示例。请记住,实际的订单字符串要比这长得多:

  • “位置”;s:5:\“value\”;s:7:\“亚特兰大\”
  • “地点”;s:2:\“value\”;s:8:\“New York\”
  • “地点”;S:5:\“value\”;s:15:\\“boedo区”

因此,每行中的公共字符串是Location,因为值在每个订单中被多次使用。

让我看看我是否能正确地表达这一点:如何使用regex来指定字符串'Location‘之后立即出现的第4和第5个双引号之间的值,以便在上面的示例中,结果将是亚特兰大、纽约、巴黎?

作为参考,boedo律师事务所的整体例子是:\";s:7:\"product\";s:2:\"31\";s:8:\"form_key\";s:16:\"aasdf\";s:7:\"options\";a:2:{i:1;s:1:\"2\";i:2;s:15:\"barrio de boedo\";}s:15:\"super_attribute\";a:2:{i:92;s:1:\"4\";i:132;s:1:\"9\";}s:3:\"qty\";s:1:\"1\";}s:7:\"options\";a:2:{i:0;a:7:{s:5:\"label\";s:15:\"Language-Gender\";s:5:\"value\";s:8:\"spa-male\";s:11:\"print_value\";s:8:\"spa-male\";s:9:\"option_id\";s:1:\"1\";s:11:\"option_type\";s:9:\"drop_down\";s:12:\"option_value\";s:1:\"2\";s:11:\"custom_view\";b:0;}i:1;a:7:{s:5:\"label\";s:8:\"Location\";S:5:\“value\”;s:15:\\“boedo\";s:9:\"option_id\";s:1:\"2\";s:11:\"option_type\";s:5:\"field\";s:12:\"option_value\";s:15:\"barrio de boedo\”;s:11:\“print_value\”;}}s:15:\"attributes_info\";a:2:{i:0;a:2:{s:5:\"label\";s:5:\"Color\";s:5:\"value\";s:4:\"Grey\";}i:1;a:2:{s:5:\"label\";s:4:\"Size\";s:5:\"value\";s:1:\"L\";}}s:11:\"simple_name\";s:14:\"T-Shirt-Grey-L\";s:10:\"simple_sku\";s:14:\"t-shirt-Grey-L\";s:20:\"product_calculations\";i:1;s:13:\"shipment_type\";i:0;}“

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-19 10:38:24

您需要在REGEXEXTRACT中使用以下模式

代码语言:javascript
复制
"Location\\?(?:""[^""]*){3}""([^""]+)\\"""

regex演示

模式是Location\\?(?:"[^"]*){3}"([^"]+)\\",它匹配:

  • Location -一个子字符串Location
  • \\? -1或0 \符号( ?使模式可选)
  • (?:"[^"]*){3} --一个"出现了3个字符(由于限定符{3}),后面跟着零或多个字符(由于*量词),而不是" ( [^...]是一个与类中定义的字符匹配的否定字符类)。
  • " -单引号
  • ([^"]+) -捕获组#1 (其内容将与REGEXEXTRACT一起返回):1或更多(由于+量词)字符( "除外)
  • \\" -一个\"子字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44067169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档