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

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

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

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

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

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

© 2021 V2EX