就像标题所说我试图创建一些正则表达式,除了方括号内的数字之外,还可以选择任何内容。例如:
6483463456[1234]623235[456]783467546[789]67467467
我想替换除方括号内的数字之外的所有内容(只留下括号中的数字)。我想要这个:
[1234][456][789]
这是我到目前为止所做的,但它不起作用:
[^\[.*\]]
上面的代码单独查找数字,包括括号内的数字。
\[(.*?)\]
上面的代码什么也没做,但看起来没错。
我关闭了吗?
答案 0 :(得分:3)
你想要拿起方括号周围的数字,然后只捕捉方括号(和括号)之间的数字,以摆脱其余部分。
此外,要仅匹配数字,您应使用\d
代替.
。
查找
\d*(\[\d*?\])\d*
将所有内容替换为:
\1
答案 1 :(得分:0)
如果字符串的形式永远不会改变:
然后你可以使用:
(\d*)\[(\d*)\](\d*)
这将捕获所有三个组,因此您可以将整个匹配替换为第二组(括号内的数字)。