Buke 发表于 2023-1-21 11:57

很菜的正则表达式问题,如何提取文本结尾最后一个括号


像这样,只想提取字符串结尾处最后一个括号的内容 "(210xxx)",内容包括括号。
这里括号是中文所以可以不考虑转义,当然考虑了更好。

查了很多懒惰匹配、最短匹配的文章,但是试过了好像都不如意。
本来想着挺简单的,结果硬是折腾了两个小时,我好菜

https://img.mjj.today/2023/01/21/57c98a56bfc152e4bc8bc939045b7ce6.png

糊状物 发表于 2023-1-21 12:00

([^()]+)$

Buke 发表于 2023-1-21 12:46

糊状物 发表于 2023-1-21 12:00
([^()]+)$

感谢!还想请教一个进阶点的问题,要是想考虑中英括号的话,我知道两边的写法是((|\()
但是中间[^()]这部分要怎么改?

r_ex 发表于 2023-1-21 15:00

[...]里面表示...中任意一个,[^...]表示非...的任意一个

糊状物 发表于 2023-1-21 15:06

Buke 发表于 2023-1-21 12:46
感谢!还想请教一个进阶点的问题,要是想考虑中英括号的话,我知道两边的写法是
但是中间这部分要怎么改 ...

[\((][^()\(\)]+[)\)]$
具体看你要匹配的字符串是什么规律,如果你要求左括号是全角时右括号也必须是全角的话,就还得改,或者括号包裹的内容还可以包含不成对的单个左括号或者单个右括号的,那自然也还得改,没有这些要求的话直接用上面这个应该就行。
页: [1]
查看完整版本: 很菜的正则表达式问题,如何提取文本结尾最后一个括号