正则表达式查找以“-”开头并以“)”结尾但不包含“(”的字符串
Regex to find a string that star with '-' and end with ')' that not contain '('
我正在将字典文本文件转换为 JSON。我想通过Sublime text 3搜索删除字典文件中的一些字符串。
例如:
@addle-head /'ædlhed/ (addle-pate) /'ædlpeit/
-pate)
/'ædlpeit/
* danh từ
- người đầu óc lẫn quẫn
我想查找并删除字符串“-pate)”。
我在 google 不包含字符串正则表达式和 AND 运算符正则表达式之后尝试了此代码:
/^-((?!\().)*$/gm
但它只能找到以'-'开头且不包含'('的字符串。
我希望正则表达式也能找到带有 ')' 的字符串。
更新:
MonkeyZeus 的答案对我来说是完美的。但是我只需要一个以 '-' 开头的字符串,所以我需要将 '^' 添加到 Regex 的开头,就像 vs97 在评论中所说的那样。非常感谢大家。
你的意思是这样?
^-[^()]+\)$
根据评论进行了编辑。
您也可以使用 Negative Lookahead 来解决这个问题:
^-(?!\().+\)$
Regex Demo。您可以在右上角找到对正则表达式所有部分的解释。
请试试这个:
\-{1}[^()]*\)
我正在将字典文本文件转换为 JSON。我想通过Sublime text 3搜索删除字典文件中的一些字符串。
例如:
@addle-head /'ædlhed/ (addle-pate) /'ædlpeit/
-pate)
/'ædlpeit/
* danh từ
- người đầu óc lẫn quẫn
我想查找并删除字符串“-pate)”。
我在 google 不包含字符串正则表达式和 AND 运算符正则表达式之后尝试了此代码:
/^-((?!\().)*$/gm
但它只能找到以'-'开头且不包含'('的字符串。
我希望正则表达式也能找到带有 ')' 的字符串。
更新: MonkeyZeus 的答案对我来说是完美的。但是我只需要一个以 '-' 开头的字符串,所以我需要将 '^' 添加到 Regex 的开头,就像 vs97 在评论中所说的那样。非常感谢大家。
你的意思是这样?
^-[^()]+\)$
根据评论进行了编辑。
您也可以使用 Negative Lookahead 来解决这个问题:
^-(?!\().+\)$
Regex Demo。您可以在右上角找到对正则表达式所有部分的解释。
请试试这个:
\-{1}[^()]*\)