使用JavaScript regex从VBA代码中捕获所有字符串值

时间:2015-06-02 18:10:10

标签: javascript regex vba

我想使用JavaScript regex列出VBA代码中使用的所有字符串值。

示例:

If cmd = "History Report" Then
     Range("D2").Formula = "=TEXT(""" & createDate & """,""" & Replace(subtitleFormat, """", """""") & """)"
     comment = "This task is completed!"
End If

结果将是:

1> "History Report"
2> "D2"
3> "=TEXT("""
4> ""","""
5> """"
6> """"""
7> """)"
8> "This task is completed!"

我很高兴有一些更好的想法来解决这个问题。

2 个答案:

答案 0 :(得分:2)

""*[^"]*"*"

试试这个。看看演示。

https://regex101.com/r/pG1kU1/19

编辑:

"(?:"{2})*[^"]*(?:"{2})*"

试试这个。看看演示。

https://regex101.com/r/pG1kU1/23

答案 1 :(得分:1)

您需要在字符串文字中考虑双引号:

"((?:""|[^"])*)"

这将匹配所有这些。捕获组1将自己保持字符串。如果您希望引号成为结果的一部分,请使用"(?:""|[^"])*"

请参阅demo

Another "unrolled" regex执行此任务:

"((?:[^"]*(?:""[^"]*)*))"