基本上我想在一條線上找到ASCII藝術。對於我來說,這是任何2個字符都不是字母數字忽略空格。因此,一個行可能看起來像:正則表達式在單行上檢測ASCII藝術。
這是一個#測試 - > ASCII藝術檢測@#@ < -
所以比賽我應該得到的是:
!#
-->
@#@
<--
我想出了這個利用其下面的網站進行測試仍然選擇空間:(
\b\W{2,}
林: http://gskinner.com/RegExr/
感謝您的幫助,非常感謝!
基本上我想在一條線上找到ASCII藝術。對於我來說,這是任何2個字符都不是字母數字忽略空格。因此,一個行可能看起來像:正則表達式在單行上檢測ASCII藝術。
這是一個#測試 - > ASCII藝術檢測@#@ < -
所以比賽我應該得到的是:
!#
-->
@#@
<--
我想出了這個利用其下面的網站進行測試仍然選擇空間:(
\b\W{2,}
林: http://gskinner.com/RegExr/
感謝您的幫助,非常感謝!
我建議是這樣的:
[^\w\s]{2,}
這將匹配的兩個或多個字符是不字字符(包括字母數字和下劃線)或空白字符的任意序列。
如果你也想匹配下劃線爲您的 'ASCII藝術' 的一部分,你必須要更加具體:
[^a-zA-Z0-9\s]{2,}
我覺得這
((?=[\x21-\x7e])[\W_]){2,}
大概equavalent這個
[[:punct:]]{2,}
使用POSIX,支持標點符號:
(添加更多的,只需將其添加到類[[:punct:]<add here>]{2,}
33 =!
34 =「
35 =#
36 = $
37 =%
38 = &
39 ='
40 =(
41 =)
42 = *
43 = +
44 =,
45 = -
46 =。
47 =/
58 =:
59 =;
60 = <
61 = =
62 =>
63 =?
64 = @
91 = [
92 = \
93 =]
94 =^
95 = _
96 =`
123 = {
124 = |
125 =}
126 =〜
+1這就是我要做的。 – Aust
實際上,如果它的'ascii'藝術是他感興趣的,那麼它不會將匹配限制爲ascii。 – sln
@sln如果文件/文本OP的搜索是ASCII,則會這樣。但是,是的,這是一個合理的點。 –