Scala正则表达式来解析所有字符串,除了以特定字开头的字符串

问题描述:

我很困惑如何解析所有字符串,除了以“if(”。 开头的字符串为基础所以基本上我想要所有的字符串除了字符串。用 “如果(” 我用"""^[a-zA-Z0-9\\\s-]*""".r开始提取所有字符串Scala正则表达式来解析所有字符串,除了以特定字开头的字符串

感谢

+0

您能否更具体地表达您的表情应该匹配以及您如何使用它?如果它与'match'一起使用,则默认为锚定,并且不需要'^'。为了确保你不匹配一个以'if('在模式开始处添加一个前瞻'(?!if \()''开头的字符串''''^(?! if \()[a-zA- Z0-9 \\ s - ] * $“”“。r'。 –

+0

不清楚你想要什么 - 如果它不是”if(...“?字符串,使用'startsWith'而不是一个正则表达式可能会更简单。 –

您可以随时retrict负lookarounds一个更通用的模式:

^(?!id\()[a-zA-Z0-9\\\s-]*$ 

regex demo

这里,使用(?!id\()负先行^(字符串的开始)之后基本上意味着如果它与id(开始不匹配的字符串。