|
|
正则表达式匹配括号外的符号
% m1 ?" V! t4 V; ~) h[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))! Q! A* b1 l2 h% t5 D
将括号外的?!/.,和空格(连续多个时同时)匹配
- J( E' V/ y T7 s如
7 t7 t3 c0 }& s2 e1 n# u$ i! ]- String string1 = "sdfsdf sdlfksd sdf,fsdf&sdf(s:1,g:1) sdfsd sdf! ? . sdfl asdf "; String[] str = string1.split("[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))"); for(String s:str){ System.out.println(s); }
复制代码 结果:+ ]' N4 t" l4 X, Q/ ^
sdfsdf
5 ^5 T8 B V* ^" B3 v# o. M/ [) {6 Lsdlfksd, u% d9 C9 v- k+ S. s: t5 N
sdf
' [! d E3 \( h. p) d2 rfsdf&sdf(s:1,g:1)
3 v# X6 Q6 K5 ~sdfsd
. a4 I# `8 a# z: w, G7 v0 N, v: Jsdf) G/ z" Z9 a2 v7 J( Q3 V( C
sdfl$ f7 f2 E9 A; O4 w% ?+ J9 I7 T
asdf9 j$ k! I5 N; J$ i# w% k& u* u
下面看下用正则表达式匹配括号外的数据
( q6 `4 A/ E& i1 E7 i; B5 N: W6 {用正则匹配括号内的数据,这个较容易实现,但是匹配括号外的数据,貌似就比较困难了.例如:
3 q: g3 V: g! d- Y2 a' c$ }"{controller}/cc/{action}/{id}"
1 X# Q8 g+ z: V! Q$ `' o& p我想得到/cc/,/ 这两个括号外的数据.
; d" B x5 B7 W J. t' \如果是匹配括号内的数据(包括括号),这个可以用这段正则实现8 n4 j7 A! R& q% V6 e0 q* q
/{[^}]+}/- Y; V7 m9 p4 m2 W
测试代码(javascript实现):
& @" S0 B$ c/ c/ J! g' l"{controller}/cc/{action}/{id}".replace(/{[^}]+}/ g,'-')4 \- {. s0 G+ k' O/ y. D& a
但是提取括号外的内容,困难得很啊.不知道哪位可以实现这个需求?
/ C2 o! A/ V) b1 I, \几个特殊的字符串:- "{controller}/cc/{action}/{id}}" 匹配到空字符串"{controller}}/cc/{action}/{id}" 匹配到:}/cc/, /
复制代码 总结
8 g9 w% L; a3 u1 B以上所述是小编给大家介绍的正则表达式匹配括号外的符号及数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!5 D5 }9 c( m3 G+ P$ J
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!& e) _0 W9 `2 f4 \5 p
5 a2 O# p F; i! Q
来源:http://www.jb51.net/article/163977.htm9 i' K: }! N. u! b, I
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|