使用正则表达式在一行中匹配多个带引号的字符串

时间:2015-09-29 14:07:11

标签: regex string

我希望在一行中匹配'a string'形式的引用字符串。我的问题来自于我可能在一行中有多个这样的字符串。像

这样的东西
result = functionCall('Hello', 5, 'World')

我可以使用['].*[']搜索由字符串限定的短语,并且如果一行中只有一个字符串,则可以选择引用的字符串。但是,通过上面的示例,当我只想要'Hello'', 5, '时,它会找到'World''Hello''World'。显然,我需要一些方法知道当前找到的'之前有多少',并且当有一个奇数时,不要尝试匹配。

请注意,在我的情况下,字符串仅使用'定义,而不是"

1 个答案:

答案 0 :(得分:1)

你应该在引号之间使用[^'] +:

var myString = "result = functionCall('Hello', 5, 'World')";
var parts = myString.match(/'[^']+'/g);