我现在一直在努力解决这个问题。尝试编写一个正则表达式,捕获所有在冒号之前有空格(:
)的地方,除了某些情况。我想不抓住与?.* :
匹配的案例。就像在,一个前面有空格的问号,一些字符序列,一个空格和一个冒号应该被认为是好的。
我尝试过一系列负面前瞻方法等,但我遇到的问题是主要模式比排除模式更通用,所以它无法排除什么我想要。
\s+:
捕获了所有不良案例,但也捕获了两个误报。 (\s+\?.*\s+:)
只捕获误报。我如何将它们结合起来,以免我得到误报?
不良案件(应该被抓住):
var type : CGFloat = 5.0
let dictionary = [
"string" : "key"
]
let dictionary = [Container<Thing?>(value: value) : "woohoo"]
好案例(不应该被抓住):
var aTest = true ? "true" : "false"
let dict = [
"string": "key"
]
class ATest: SuperType
let multiLineTernary = true
? "a String"
: "b String"