基本上我想在一行上找到ASCII Art。对我来说,这是任何2个字符,不是字母数字忽略空格。所以一行可能看起来像:
这是一个!#测试 - > ASCII艺术检测@#@< -
所以我应该得到的比赛是:
!#
-->
@#@
<--
我想出了这仍然选择空格:(
\b\W{2,}
我使用以下网站进行测试: http://gskinner.com/RegExr/
感谢您的帮助,非常感谢!!
答案 0 :(得分:3)
我建议这样的事情:
[^\w\s]{2,}
这将匹配非单词字符(包括字母数字字符和下划线)或空格字符的两个或多个字符的任何序列。
如果您还想将下划线作为“ASCII艺术”的一部分进行匹配,那么您必须更加具体:
[^a-zA-Z0-9\s]{2,}
答案 1 :(得分:0)
我想这个
((?=[\x21-\x7e])[\W_]){2,}
可能与此相等
[[:punct:]]{2,}
使用POSIX,支持的标点符号为:
(要添加更多内容,只需将其添加到课程[[:punct:]<add here>]{2,}
33 =!
34 =“
35 =#
36 = $
37 =%
38 =&amp;
39 ='
40 =(
41 =)
42 = *
43 = +
44 =,
45 = -
46 =。
47 = /
58 =:
59 =;
60 =&lt;
61 = =
62 =&gt;
63 =?
64 = @
91 = [
92 = \
93 =]
94 = ^
95 = _
96 =`
123 = {
124 = |
125 =}
126 =〜