问个正则表达式的问题

2018-03-19 14:52:38 +08:00
 ColinZeb

问题有点复杂,所以标题就这样吧。

文本:

2 . 1 年前,某法院推行办案责任制后,直接由独任法官、合议庭裁判的案件比例达到 99.9%,提交审委会讨论的案件仅占>0.1%。对此,下列说法正确的 是:匡三呵

要求是匹配到题号,比如此文本中的 2,但是不能匹配到题目中的数字。 一般题后有个点,中文或英文,有时候题目开头就是一个数字,比如此文本(这个 1 年前是我手动加的,为了示例)。

目前我写的是这样的

(\d{1})(?:[\..][^??]*?\??|[\..][^??]*?下列[^是]+?是:?)

我的代码由于兼容了其他情况,所以写的比较乱,大神们参考一下即可,不需要分析或者改我的代码。

1803 次点击
所在节点    正则表达式
3 条回复
lhx2008
2018-03-19 15:01:13 +08:00
如果题号一定没有点的话,直接 split(".")[0]
chairuosen
2018-03-19 15:04:39 +08:00
题号一定是行首啊,^\d 不就得了?
ColinZeb
2018-03-19 15:14:06 +08:00
@lhx2008 整套卷子是一个文本,换行的情况也不是很稳定,比如一个问题内就有可能有换行,这样就必须用多行模式匹配,^行不通

@lhx2008 没懂什么意思,可以假设题号后是一定有点的(可能有例外,先不考虑),而点后一般是中文,但极个别是个数字,假设点后是数字,这时候就没法和题中的数字(比如此题中的 0.1%99.9%)区分开了

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

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

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

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

© 2021 V2EX