如何写一个正则表达式来删除所有不包含任何东西的大括号?
例如,{}与{{}}应减少到一个空字符串,但{{}变得{和{{A}{}}变{{A}}.
我目前正在s/\{\}//g循环运行,直到字符串长度固定,但是有更好的方法吗?
Sch*_*ern 10
使用传统正则表达式匹配平衡对很难(如果不是不可能的话).幸运的是,PCRE和其他人有一个(?R)递归匹配的扩展,将以递归方式匹配整个模式.
/\{(?R)*\}/
Run Code Online (Sandbox Code Playgroud)
这就是为了匹配在其中具有零个或多个支撑对的支撑对.有关详细信息,请参阅perlretut->递归模式和perlre->扩展模式 - >?R.
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |