我需要一个正则表达式,可以匹配带引号的单词或多个单词。
[\w]* 可以匹配一个单词。
"[\w\W&&[^"]]*" 可以匹配带引号的多个单词。
顺便提一下,不确定为什么 \w\W 起作用,而 . (应该匹配所有字符)就不行。
那么如何将这两个正则表达式结合起来呢?
我需要一个正则表达式,可以匹配带引号的单词或多个单词。
[\w]* 可以匹配一个单词。
"[\w\W&&[^"]]*" 可以匹配带引号的多个单词。
顺便提一下,不确定为什么 \w\W 起作用,而 . (应该匹配所有字符)就不行。
那么如何将这两个正则表达式结合起来呢?
"[^"]+"
这个正则表达式可以实现你想要的功能吗?(匹配双引号,匹配一个或多个非双引号字符,然后再匹配一个双引号。)
首先感谢您。
您的回答确实有所帮助,但我注意到我的问题可能不够清晰。
无论如何,通过您的回答,我最终得到了这个正则表达式:
"[^"]+"|[\w]+
它可以匹配引号中的单词和多个单词。
例如:what is "this thing" 将会有3个匹配项: 第一个匹配项:what 第二个匹配项:is 第三个匹配项:"this thing"
这正是我需要的。再次感谢。
I would prefer:
"\s*((?:\w(?!\s+")+|\s(?!\s*"))+\w)\s*"
使用"\w+"
而不是"[^"]+"
,因为^"
匹配所有内容,而不仅仅是\w
(字母数字)字符[a-zA-Z_0-9]
。
这样,您只会在引号内匹配\w
字符,而没有尾随空格。
" ee eee e ee "
为您提供组(1)中的内容:
ee eee e ee
(?!\s+")
的作用是确保在双引号前不包括最后的空格;