2017-08-08 172 views
-1

我正在寻找一个匹配所有空格和换行符(\ s)但不匹配引号之间的空格(双精度或简单)的正则表达式。例如:不包含字符串的正则表达式空格

a = b //matches 2 whitespaces a*=*b 
a = "my test" // matches 2 whitespaces too a*=*"my test" (ignoring all whitespaces , lines breaks,etc between quotes.) 
a = "my test", a = b , c = "my another string " // matches 9 (excluding strings whitespace) 

任何帮助?

+0

?如果是这样,它们可以嵌套吗? – Gawil

+0

欢迎来到Stack Overflow。这不是一个代码写入服务。在发布之前,您为自己解决这个问题做了哪些努力? –

+1

你[错了。这是我的网站。我是这里的注册用户,并且用户对此网站进行了调整。请花点时间参加[旅游]并阅读[帮助]页面。你无法说出谁在这里评论或回答你。再一次,*您在发布之前先做了什么努力来自己解决这个问题?* –

回答

0

以下的正则表达式应该很好地工作:
?![^"]*"(?:[^"]*"[^"]*")*$)

演示here

注意,正则表达式以空格开始,我没有使用\s,所以它只能是空格,而不是制表或换行相匹配。
正则表达式意味着匹配任何没有跟着奇数引号的空格。
另外,不要忘记你可以有多个对引号使用m标志

相关问题