正则表达式:如果是括号,则设置为空,否则通过

时间:2016-10-17 19:58:13

标签: regex regex-lookarounds

我有一个字符串,可能有也可能没有括号。如果字符串中有括号,那么我想将其设置为空字符串(或空值)。否则,我想做*.?

这是我到目前为止所做的,但它绝对不对: (?(?=[\[^\]])("")|(.*?))

一个示例字符串是:abcdef[12345]。 我不想匹配以下内容:mousecat

进行此操作的最佳方法是什么?有一个带有正则表达式语句的Grok模板,可以在Java程序中执行。

谢谢! 可人

编辑:如果括号内有数字,怎么做?而不是括号内的任何内容。

2 个答案:

答案 0 :(得分:0)

模式:

^.*[\[\]].*$|^([^\[\]]*)$

替换:

$1

答案 1 :(得分:0)

试试这个

var str = "abcdef[xxxx]";
console.log(/\[.+\]/i.exec(str))