正则表达式,求匹配:双反斜杠(\\)合法,单反斜杠不合法(\)
要求是这样的,我想弄一个正则表达式达到双反斜杠(\\)合法,单反斜杠(\)不合法。举个例子:abc123\def\\ghj。我想这个正则表达式能匹配出第一个\d然后提示用...
要求是这样的,我想弄一个正则表达式达到双反斜杠(\\)合法,单反斜杠(\)不合法。举个例子:abc123\def\\ghj。我想这个正则表达式能匹配出第一个\d然后提示用户输入错误。但现在我用\\[^\s"'(\\)]后发现他居然把第二个双反斜杠里的最后一个斜杠和后面一个字母匹配出来了,也就是\g。很是郁闷,因为按我的要求来说,g前面的双反斜杠应该是合法的。希望我表达清楚了。有没有大神解答下!
展开
2个回答
展开全部
^((\\\\)*[^\s"'(\\)]*)*$
这个正则表示一个不包括空白符,引号,圆括号的字符串,反斜杠只能成对出现,匹配这个正则表达式就是合法的,否则非法
如果你想找出只有奇数个反斜杠的子字符串
^(?:(\\(?:\\\\)*(?!\\).?)*(?:\\\\)*[^\s'"\\]*)*$
这个正则表达式的Group1就是
这个正则表示一个不包括空白符,引号,圆括号的字符串,反斜杠只能成对出现,匹配这个正则表达式就是合法的,否则非法
如果你想找出只有奇数个反斜杠的子字符串
^(?:(\\(?:\\\\)*(?!\\).?)*(?:\\\\)*[^\s'"\\]*)*$
这个正则表达式的Group1就是
追问
我试了试,好像不行啊,难道是我的测试方法错了?还望不吝赐教~
我的测试方法:
字符串:hOsT: \ 10.151.\"124.\'96\ 121。 我希望这个字符串合法,所有的反斜杠都是合法的,包括:反斜杠+空格,反斜杠+单引号,反斜杠+双引号,双反斜杠。
字符串:hOsT: \ 10.151.\"124.\'96\ 1\21。 这个字符串我希望它非法,因为最后有个\2是单独的反斜杠。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询