当前位置:  开发笔记 > 编程语言 > 正文

在角色之前,未转义的反斜杠的正确表达式是什么?

如何解决《在角色之前,未转义的反斜杠的正确表达式是什么?》经验,为你挑选了1个好方法。

假设我想表示\q(或任何其他特定的"反斜杠转义字符").也就是说,我想匹配\q但不匹配\\q,因为后者是反斜杠转义反斜杠后跟a q.但是\\\q会匹配,因为它是一个反斜杠逃脱的反斜杠,然后反斜杠逃脱q.(嗯,它会匹配到\q最后,而不是\\在开头.)

我知道我需要一个消极的外观,但他们总是把头抬起来,特别是因为反斜杠本身必须在正则表达式中逃脱.



1> Leon Timmerm..:

更新:我新的和改进的Perl正则表达式,支持3个以上的反斜杠:

/(?\\\\)* # an even number of backslashes
  \\q       # Followed by a \q
  /x;

或者如果你的正则表达式库不支持扩展语法.

/(?\\\\)*\\q/

输出我的测试程序:

q does not match
\q does match
\\q does not match
\\\q does match
\\\\q does not match
\\\\\q does match

旧版本

/(?:(?

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有