我有一个像这样的模式
String1 :"String2",
我必须验证这种模式。在这里,如果你看到有两种情况,那么somestring1可以包含特殊字符,如果它是在双引号内给出的。
eg: "xxxx-xxx" :"yyyyyyyy",--------> is valid
but xxxx-xxx :"yyyyyyyy",--------> is not valid
"xxxx-xxx :"yyyyyyyy",--------> is not valid
所以我需要创建一个正则表达式,它将检查双引号是否在String1中存在时是否正确关闭。
答案 0 :(得分:3)
简短回答:正则表达式不是那样的。
然而,您可以使用两种不同的模式来验证:
\"[^\"]+?\" :.*
检查可以包含特殊字符的那个,并且:
[a-zA-Z]+? :.*
检查不能
的那个修改强>
再想一想,你可以将上面两种模式结合起来:
^(\"[^\"]+?\"|[a-zA-Z]+?) :.*$
哪个匹配something :"something"
和"some-thing" :"something"
,但不匹配"some-thing : "something"
或some-thing : "something"
。假设字符串只包含给定的文本。
答案 1 :(得分:0)
如果我理解你的问题,这个简单的正则表达式应该可行
\"string1\" :\"string2\"
答案 2 :(得分:0)
也许是这样的?
(?<normalString>^[a-zA-Z]+$)|(?<specialString>^".*?"$)
这将只捕获a-z字符并将它们放在“normalString”组中,或者如果引号中有一个字符串,则将其捕获并将其放入“specialString”组。