正则表达式用十进制数字匹配段落中的最后一个句子

时间:2018-10-16 00:22:59

标签: regex

给出句子:

  

检查显示左眼周围有轻度肿胀。她的左眼   在左眼注视时不会移过中线,但在观看时会正常移动   在右边。未经治疗,以下哪些发现是   最有可能发生在该患者中?

即使最后一个句子包含一个十进制数字,我该如何匹配最后一个句子?假设最后一句话总是以问号结尾。

  

检查显示左眼周围有轻度肿胀。她的左眼   在左眼注视时不会移过中线,但在观看时会正常移动   在右边。以下哪个发现是   最有可能发生在BGL为11.2 mmol / L而未经治疗的患者中?

我当前的解决方案是此方法,它与第一个示例中的最后一个句子匹配,但是它不容许小数。

(\. )([ A-Za-z0-9\-\"\'\(\)\,\:\;\<\>\/\\]+)(\?)

理想的解决方案应分别导致以下字符串:

  

如果不进行治疗,以下哪个发现最有可能   发生在这个病人身上?

AND

  

以下哪些发现最有可能发生在患者身上   没有治疗的BGL为11.2 mmol / L?

1 个答案:

答案 0 :(得分:1)

如果句子结尾的句点后跟有空格,则可以使用大字符集和不是的句点后跟一个空格,并使用负前瞻:

|\.(?! )

还请注意,大多数情况不需要在字符集中进行转义-仅需对正则表达式定界符(通常为/和文字反斜杠进行转义。)

(\. )(?:[ a-z\d-"'(),:;<>\/\\]|\.(?! ))+(\?)

https://regex101.com/r/j2bufP/1