我想获取特殊字符之间的最后一个字符串。我已经为\[(.*)\]$
但是,当我在Blah [Hi]How is this[KoTuWa]
之类的东西上使用它时。我得到的结果为[Hi]How is this[KoTuWa]
。
如何修改它以获取最后一个字符串KotuWa
。
另外,我想概括为一般特殊字符,而不是像上面那样仅仅匹配方括号之间的字符串。
谢谢, 西
答案 0 :(得分:5)
我会这样做:
[^[\]]+(?=][^[\]]*$)
要将此扩展到其他类型的括号/特殊字符,请说我还想匹配花括号{
和双引号"
:
[^{}"[\]]+(?=["\]}][^{}"[\]]*$)
Debuggex Demo (我添加了多行/m
仅显示多个示例)
答案 1 :(得分:1)
您可以要求括号中的字符串不包含括号:
编辑:感谢funkwurm和jcubic指出错误。这是fixed expression:
\[([^[]+)\][^\[]*$
如果您需要使用除括号之外的其他分隔符,您应该:
\[
和\]
例如,假设您需要使用分隔符<>
而不是[]
,那么您需要this:
<([^<]+)>[^\>]*$
答案 2 :(得分:0)
这是一种方法:
\[([^\[]*)\]$