请教下,这个正则如何表示?

2021 年 2 月 23 日
 cmichael
  1. 以()[开头,)结尾,总长 30 个字符
  2. 以()[开头,总长 30 个字符
1893 次点击
所在节点    正则表达式
10 条回复
imn1
2021 年 2 月 23 日
^\(\)\[.{27}$
kingdeguo
2021 年 2 月 23 日
1 ^\(\)\[.{26}\)$
2 ^\(\)\[.{27}
cmichael
2021 年 2 月 23 日
如果是以[ ](开头,)结尾呢?
cmichael
2021 年 2 月 23 日
^\[\s\]\(.\)$ 好象不行?
kingdeguo
2021 年 2 月 23 日
@cmichael 应该使用^\[\]\(.*\)$
解释如下:
^匹配开头,$匹配末尾。
为了匹配[、]、(、)、这几个符号需要使用\进行转义
使用.*来匹配中间的内容,符号.表示匹配任一一个字符,符号*表示数量为 0 到 n
cmichael
2021 年 2 月 23 日
@kingdeguo 这个试了好象不对, [ ]之间有个空格的,用\s 不对
kingdeguo
2021 年 2 月 24 日
@cmichael 抱歉没有看到[]之间的空格。如果有空格的话使用正则表达^\[\s\]\(.*\)$可以匹配成功的。我刚测试了一下。
我使用的是 Perl 的正则表达式。猜测你不匹配的原因是你使用的可能是 Basic RegEx 或者 Extended RegEx,这两个不支持\s 。
可参考这篇博文: https://blog.csdn.net/yufenghyc/article/details/51078107
fiveelementgid
2021 年 2 月 24 日
需求先问
是定长还是可变长
{}要确定上下限
kaiki
2021 年 2 月 24 日
得看原始需求啊,以及来两个需要匹配的正文例子
cmichael
2021 年 2 月 24 日
谢谢了!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/755589

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX