京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9197|回复: 0

正则表达式匹配括号外的符号及数据

[复制链接]

17

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2019-9-9 08:12:36 | 显示全部楼层 |阅读模式 来自 中国
正则表达式匹配括号外的符号* Q+ N6 W- B" B
[\\?!/\\.,\\s]+(?=[^\\)]*(\\(|$))
' B1 \) Y/ e/ C, b0 G/ C将括号外的?!/.,和空格(连续多个时同时)匹配
0 z7 ~$ {% g. m6 K1 S& |$ g7 f2 [- ^
  1. 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); }
复制代码
结果:
! A. _" S' x; |" M; h1 A" \4 m
sdfsdf
. A4 _/ N1 a$ s2 Z3 ?+ o7 G, dsdlfksd+ v$ t1 V1 S7 j6 w
sdf
- \1 \, E0 `2 Q! h6 Nfsdf&sdf(s:1,g:1)
$ V0 [, h6 r" o/ _sdfsd
+ `* g) ^5 {6 Y( r5 M: r6 f8 s; isdf
7 A2 t0 A8 u# p* Csdfl+ B0 C3 y5 X% K7 b# X
asdf% ^. ~$ O" T- g( t  n5 K# k! T
下面看下用正则表达式匹配括号外的数据5 d* P( _; j- F8 N% ~
用正则匹配括号内的数据,这个较容易实现,但是匹配括号外的数据,貌似就比较困难了.例如:
  J: P- z) ~7 |$ N; l; b# t"{controller}/cc/{action}/{id}"
5 O% X' x" ]6 Y  S我想得到/cc/,/ 这两个括号外的数据.# P  f5 g. \* I& }6 i7 e; W/ U; X  L
如果是匹配括号内的数据(包括括号),这个可以用这段正则实现
7 ^) F+ H& Z  a5 l+ W+ y$ l/{[^}]+}/
, ~$ R7 ?. ?# z% b测试代码(javascript实现):7 ]2 l7 y, Q' `' d/ i; W
"{controller}/cc/{action}/{id}".replace(/{[^}]+}/ g,'-')3 t- X8 x2 w/ s$ B
但是提取括号外的内容,困难得很啊.不知道哪位可以实现这个需求?
0 @$ D0 s: o. G" `( @几个特殊的字符串:
  1. "{controller}/cc/{action}/{id}}"   匹配到空字符串"{controller}}/cc/{action}/{id}"  匹配到:}/cc/, /
复制代码
总结
- \5 x& O- ~, t, V+ v6 Y以上所述是小编给大家介绍的正则表达式匹配括号外的符号及数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
( l$ d/ j# ~; o( o如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!9 t6 K5 }  f1 l7 [) ?
: w' {8 o+ S$ ^" S5 \1 u1 h
来源:http://www.jb51.net/article/163977.htm# |! \, h- `$ |* P# W7 g
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

帖子地址: 

梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2026-5-16 23:00 , Processed in 0.042713 second(s), 25 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表