我试图准备一个正则表达式来匹配一个单词,如果它在引号中。
即如果文本如下,我想在引号内匹配HelloWorld
但不在引号内匹配另一个。{1}} (应匹配HelloWorld
的第二个实例,但不匹配第一个实例)
HelloWorld " Showing HelloWorld"
使用案例
当我在Eclipse IDE中通过正则表达式搜索时,我需要在引号内找到文本HelloWorld
,而不是用作变量名或类名的其他HelloWorld
实例。
答案 0 :(得分:1)
您可以使用以下内容。
'HelloWorld " Showing HelloWorld"'.match(/"(.*?)"+/g); //["" Showing HelloWorld""]
答案 1 :(得分:0)
作为一种快速而肮脏的可能性,您可以使用以下方法扫描字符串:
/"[^"]*?"/
这将匹配字符串中的第一对引号(和包含的文本)(注意{"最小"匹配使用*?
)。在循环中全局执行以在引号内提取文本。每当你匹配一个新的引用的作品时,检查它是否包含你正在寻找的东西(可能与另一个正则表达式)。
如果字符串中存在转义引号,则会失败,但这当然可以处理。
答案 2 :(得分:0)
如果所有模式都像
“显示HelloWorld”
您可以使用此
进行匹配/".+\s(\w+)"/g
如果您的语言支持[:alpha:]
你只能匹配字母
/".+\s([[:alpha:]]+)"/g
匹配\ w +可以同时获得字母和数字