首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带数组或单元格的VBA/Excel正则表达式

带数组或单元格的VBA/Excel正则表达式
EN

Stack Overflow用户
提问于 2014-02-19 03:05:14
回答 1查看 670关注 0票数 0

我正在尝试根据给定的单元集进行模式匹配。例如,我希望找到电子表格标题的位置(行/列),但不同工作表的标题名称可能略有不同。

我考虑将单元格的范围存储在数组中,并在数组中使用正则表达式,但我不确定如何做到这一点。

我尝试使用match/find函数,但我想搜索与确切模式匹配的内容,而不一定是确切的字符串或与其相近的内容。

标题可能是什么的示例如下所示:

店铺名称|店铺编号|商品名称|商品编号

门店编号|门店|商品编号|商品

目前我只是半硬编码来完成它,但我正在寻找一种容易重用的好方法。

编辑:

要澄清的是,我遇到困难的不是正则表达式本身,而是在一组单元中搜索给定的正则表达式。目前,我将一个单元格范围转换为一个多维数组,并遍历该数组以查找正则表达式。我的问题是,一开始就很难捕获数据数组(我不总是知道标头从哪里开始,标头可以是不同的顺序,并且电子表格中任何地方都可能有空格)。

EN

回答 1

Stack Overflow用户

发布于 2014-02-19 03:47:26

不打算回答Vb如何做到这一点,因为不知道Vb。

但是,使用您的示例,一般的正则表达式可能是这样的。

代码语言:javascript
复制
 # (?i)^\s*(Store|Item)(?:\s+(Name|Number|\#|))?\s*$

 (?i)                          # Case insensitive
 ^                             # Beginning of string
 \s*                           # optional whitespace
 ( Store | Item )              # (1), Capture Store or Item (add more)
 (?:                           # Non-capture grp start
      \s+                           # 1 or more whitespace
      ( Name | Number | \# | )      # (2), Capture Name or Number or hashtag or nothing
                                    #      (add more)
 )?                            # Non-capture grp end, do 0 or 1 time
 \s*                           # optional whitespace
 $                             # End of string
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21863026

复制
相关文章

相似问题

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